Lines Matching refs:task
318 struct task_struct *task);
447 perf_cgroup_set_timestamp(struct task_struct *task, in perf_cgroup_set_timestamp() argument
458 if (!task || !ctx->nr_cgroups) in perf_cgroup_set_timestamp()
461 cgrp = perf_cgroup_from_task(task, ctx); in perf_cgroup_set_timestamp()
475 static void perf_cgroup_switch(struct task_struct *task, int mode) in perf_cgroup_switch() argument
527 cpuctx->cgrp = perf_cgroup_from_task(task, &cpuctx->ctx); in perf_cgroup_switch()
528 cpu_ctx_sched_in(cpuctx, EVENT_ALL, task); in perf_cgroup_switch()
538 static inline void perf_cgroup_sched_out(struct task_struct *task, in perf_cgroup_sched_out() argument
550 cgrp1 = perf_cgroup_from_task(task, NULL); in perf_cgroup_sched_out()
565 perf_cgroup_switch(task, PERF_CGROUP_SWOUT); in perf_cgroup_sched_out()
571 struct task_struct *task) in perf_cgroup_sched_in() argument
582 cgrp1 = perf_cgroup_from_task(task, NULL); in perf_cgroup_sched_in()
593 perf_cgroup_switch(task, PERF_CGROUP_SWIN); in perf_cgroup_sched_in()
704 static inline void perf_cgroup_sched_out(struct task_struct *task, in perf_cgroup_sched_out() argument
710 struct task_struct *task) in perf_cgroup_sched_in() argument
722 perf_cgroup_set_timestamp(struct task_struct *task, in perf_cgroup_set_timestamp() argument
728 perf_cgroup_switch(struct task_struct *task, struct task_struct *next) in perf_cgroup_switch() argument
889 if (ctx->task) in put_ctx()
890 put_task_struct(ctx->task); in put_ctx()
1055 perf_lock_task_context(struct task_struct *task, int ctxn, unsigned long *flags) in perf_lock_task_context() argument
1071 ctx = rcu_dereference(task->perf_event_ctxp[ctxn]); in perf_lock_task_context()
1084 if (ctx != rcu_dereference(task->perf_event_ctxp[ctxn])) { in perf_lock_task_context()
1108 perf_pin_task_context(struct task_struct *task, int ctxn) in perf_pin_task_context() argument
1113 ctx = perf_lock_task_context(task, ctxn, &flags); in perf_pin_task_context()
1524 if (!ctx->task || ctx->orphans_remove_sched || !perf_wq) in schedule_orphans_remove()
1677 struct task_struct *task = ctx->task; in perf_remove_from_context() local
1685 if (!task) { in perf_remove_from_context()
1697 if (!task_function_call(task, __perf_remove_from_context, &re)) in perf_remove_from_context()
1711 task = ctx->task; in perf_remove_from_context()
1741 if (ctx->task && cpuctx->task_ctx != ctx) in __perf_event_disable()
1782 struct task_struct *task = ctx->task; in _perf_event_disable() local
1784 if (!task) { in _perf_event_disable()
1793 if (!task_function_call(task, __perf_event_disable, event)) in _perf_event_disable()
1806 task = ctx->task; in _perf_event_disable()
2057 struct task_struct *task);
2061 struct task_struct *task) in perf_event_sched_in() argument
2063 cpu_ctx_sched_in(cpuctx, EVENT_PINNED, task); in perf_event_sched_in()
2065 ctx_sched_in(ctx, cpuctx, EVENT_PINNED, task); in perf_event_sched_in()
2066 cpu_ctx_sched_in(cpuctx, EVENT_FLEXIBLE, task); in perf_event_sched_in()
2068 ctx_sched_in(ctx, cpuctx, EVENT_FLEXIBLE, task); in perf_event_sched_in()
2082 struct task_struct *task = current; in __perf_install_in_context() local
2097 if (ctx->task && task_ctx != ctx) { in __perf_install_in_context()
2106 task = task_ctx->task; in __perf_install_in_context()
2124 perf_event_sched_in(cpuctx, task_ctx, task); in __perf_install_in_context()
2147 struct task_struct *task = ctx->task; in perf_install_in_context() local
2155 if (!task) { in perf_install_in_context()
2165 if (!task_function_call(task, __perf_install_in_context, event)) in perf_install_in_context()
2179 task = ctx->task; in perf_install_in_context()
2303 struct task_struct *task = ctx->task; in _perf_event_enable() local
2305 if (!task) { in _perf_event_enable()
2335 if (!task_function_call(task, __perf_event_enable, event)) in _perf_event_enable()
2349 task = ctx->task; in _perf_event_enable()
2539 static void perf_event_context_sched_out(struct task_struct *task, int ctxn, in perf_event_context_sched_out() argument
2542 struct perf_event_context *ctx = task->perf_event_ctxp[ctxn]; in perf_event_context_sched_out()
2584 task->perf_event_ctxp[ctxn] = next_ctx; in perf_event_context_sched_out()
2586 ctx->task = next; in perf_event_context_sched_out()
2587 next_ctx->task = task; in perf_event_context_sched_out()
2659 static void perf_event_switch(struct task_struct *task,
2676 void __perf_event_task_sched_out(struct task_struct *task, in __perf_event_task_sched_out() argument
2682 perf_pmu_sched_task(task, next, false); in __perf_event_task_sched_out()
2685 perf_event_switch(task, next, false); in __perf_event_task_sched_out()
2688 perf_event_context_sched_out(task, ctxn, next); in __perf_event_task_sched_out()
2696 perf_cgroup_sched_out(task, next); in __perf_event_task_sched_out()
2785 struct task_struct *task) in ctx_sched_in() argument
2796 perf_cgroup_set_timestamp(task, ctx); in ctx_sched_in()
2811 struct task_struct *task) in cpu_ctx_sched_in() argument
2815 ctx_sched_in(ctx, cpuctx, event_type, task); in cpu_ctx_sched_in()
2819 struct task_struct *task) in perf_event_context_sched_in() argument
2839 perf_event_sched_in(cpuctx, cpuctx->task_ctx, task); in perf_event_context_sched_in()
2857 struct task_struct *task) in __perf_event_task_sched_in() argument
2863 ctx = task->perf_event_ctxp[ctxn]; in __perf_event_task_sched_in()
2867 perf_event_context_sched_in(ctx, task); in __perf_event_task_sched_in()
2875 perf_cgroup_sched_in(prev, task); in __perf_event_task_sched_in()
2878 perf_event_switch(task, prev, true); in __perf_event_task_sched_in()
2881 perf_pmu_sched_task(prev, task, true); in __perf_event_task_sched_in()
3200 perf_event_context_sched_in(ctx, ctx->task); in perf_event_enable_on_exec()
3242 if (ctx->task && cpuctx->task_ctx != ctx) in __perf_event_read()
3400 alloc_perf_context(struct pmu *pmu, struct task_struct *task) in alloc_perf_context() argument
3409 if (task) { in alloc_perf_context()
3410 ctx->task = task; in alloc_perf_context()
3411 get_task_struct(task); in alloc_perf_context()
3421 struct task_struct *task; in find_lively_task_by_vpid() local
3425 task = current; in find_lively_task_by_vpid()
3427 task = find_task_by_vpid(vpid); in find_lively_task_by_vpid()
3428 if (task) in find_lively_task_by_vpid()
3429 get_task_struct(task); in find_lively_task_by_vpid()
3432 if (!task) in find_lively_task_by_vpid()
3435 return task; in find_lively_task_by_vpid()
3442 find_get_context(struct pmu *pmu, struct task_struct *task, in find_get_context() argument
3452 if (!task) { in find_get_context()
3487 ctx = perf_lock_task_context(task, ctxn, &flags); in find_get_context()
3501 ctx = alloc_perf_context(pmu, task); in find_get_context()
3512 mutex_lock(&task->perf_event_mutex); in find_get_context()
3517 if (task->flags & PF_EXITING) in find_get_context()
3519 else if (task->perf_event_ctxp[ctxn]) in find_get_context()
3524 rcu_assign_pointer(task->perf_event_ctxp[ctxn], ctx); in find_get_context()
3526 mutex_unlock(&task->perf_event_mutex); in find_get_context()
3582 if (event->attr.task) in unaccount_event()
4180 struct task_struct *task; in perf_event_period() local
4195 task = ctx->task; in perf_event_period()
4198 if (!task) { in perf_event_period()
4204 if (!task_function_call(task, __perf_event_period, &pe)) in perf_event_period()
4210 task = ctx->task; in perf_event_period()
5626 struct task_struct *task) in perf_event_read_event() argument
5636 .pid = perf_event_pid(event, task), in perf_event_read_event()
5637 .tid = perf_event_tid(event, task), in perf_event_read_event()
5727 struct task_struct *task; member
5745 event->attr.task; in perf_event_task_match()
5754 struct task_struct *task = task_event->task; in perf_event_task_output() local
5767 task_event->event_id.pid = perf_event_pid(event, task); in perf_event_task_output()
5770 task_event->event_id.tid = perf_event_tid(event, task); in perf_event_task_output()
5784 static void perf_event_task(struct task_struct *task, in perf_event_task() argument
5796 .task = task, in perf_event_task()
5817 void perf_event_fork(struct task_struct *task) in perf_event_fork() argument
5819 perf_event_task(task, NULL, 1); in perf_event_fork()
5827 struct task_struct *task; member
5863 comm_event->event_id.pid = perf_event_pid(event, comm_event->task); in perf_event_comm_output()
5864 comm_event->event_id.tid = perf_event_tid(event, comm_event->task); in perf_event_comm_output()
5883 strlcpy(comm, comm_event->task->comm, sizeof(comm)); in perf_event_comm_event()
5896 void perf_event_comm(struct task_struct *task, bool exec) in perf_event_comm() argument
5904 .task = task, in perf_event_comm()
6235 struct task_struct *task; member
6261 if (event->ctx->task) { in perf_event_switch_output()
6279 if (event->ctx->task) in perf_event_switch_output()
6289 static void perf_event_switch(struct task_struct *task, in perf_event_switch() argument
6297 .task = task, in perf_event_switch()
6952 struct task_struct *task) in perf_tp_event() argument
6974 if (task && task != current) { in perf_tp_event()
6979 ctx = rcu_dereference(task->perf_event_ctxp[perf_sw_context]); in perf_tp_event()
7824 if (event->attr.task) in account_event()
7847 struct task_struct *task, in perf_event_alloc() argument
7859 if (!task || cpu != -1) in perf_event_alloc()
7904 if (task) { in perf_event_alloc()
7911 event->hw.target = task; in perf_event_alloc()
8250 struct task_struct *task = NULL; in SYSCALL_DEFINE5() local
8307 task = find_lively_task_by_vpid(pid); in SYSCALL_DEFINE5()
8308 if (IS_ERR(task)) { in SYSCALL_DEFINE5()
8309 err = PTR_ERR(task); in SYSCALL_DEFINE5()
8314 if (task && group_leader && in SYSCALL_DEFINE5()
8322 if (task) { in SYSCALL_DEFINE5()
8323 err = mutex_lock_interruptible(&task->signal->cred_guard_mutex); in SYSCALL_DEFINE5()
8336 if (!ptrace_may_access(task, PTRACE_MODE_READ_REALCREDS)) in SYSCALL_DEFINE5()
8343 event = perf_event_alloc(&attr, cpu, task, group_leader, NULL, in SYSCALL_DEFINE5()
8395 ctx = find_get_context(pmu, task, event); in SYSCALL_DEFINE5()
8432 if (group_leader->ctx->task != ctx->task) in SYSCALL_DEFINE5()
8567 if (task) { in SYSCALL_DEFINE5()
8568 mutex_unlock(&task->signal->cred_guard_mutex); in SYSCALL_DEFINE5()
8569 put_task_struct(task); in SYSCALL_DEFINE5()
8607 if (task) in SYSCALL_DEFINE5()
8608 mutex_unlock(&task->signal->cred_guard_mutex); in SYSCALL_DEFINE5()
8612 if (task) in SYSCALL_DEFINE5()
8613 put_task_struct(task); in SYSCALL_DEFINE5()
8630 struct task_struct *task, in perf_event_create_kernel_counter() argument
8642 event = perf_event_alloc(attr, cpu, task, NULL, NULL, in perf_event_create_kernel_counter()
8652 ctx = find_get_context(event->pmu, task, event); in perf_event_create_kernel_counter()
8952 void perf_event_free_task(struct task_struct *task) in perf_event_free_task() argument
8959 ctx = task->perf_event_ctxp[ctxn]; in perf_event_free_task()
8983 void perf_event_delayed_put(struct task_struct *task) in perf_event_delayed_put() argument
8988 WARN_ON_ONCE(task->perf_event_ctxp[ctxn]); in perf_event_delayed_put()
9491 struct task_struct *task = info; in __perf_cgroup_move() local
9493 perf_cgroup_switch(task, PERF_CGROUP_SWOUT | PERF_CGROUP_SWIN); in __perf_cgroup_move()
9500 struct task_struct *task; in perf_cgroup_attach() local
9503 cgroup_taskset_for_each(task, css, tset) in perf_cgroup_attach()
9504 task_function_call(task, __perf_cgroup_move, task); in perf_cgroup_attach()