Lines Matching refs:task
315 struct task_struct *task);
444 perf_cgroup_set_timestamp(struct task_struct *task, in perf_cgroup_set_timestamp() argument
455 if (!task || !ctx->nr_cgroups) in perf_cgroup_set_timestamp()
458 cgrp = perf_cgroup_from_task(task); in perf_cgroup_set_timestamp()
472 void perf_cgroup_switch(struct task_struct *task, int mode) in perf_cgroup_switch() argument
523 cpuctx->cgrp = perf_cgroup_from_task(task); in perf_cgroup_switch()
524 cpu_ctx_sched_in(cpuctx, EVENT_ALL, task); in perf_cgroup_switch()
536 static inline void perf_cgroup_sched_out(struct task_struct *task, in perf_cgroup_sched_out() argument
545 cgrp1 = perf_cgroup_from_task(task); in perf_cgroup_sched_out()
560 perf_cgroup_switch(task, PERF_CGROUP_SWOUT); in perf_cgroup_sched_out()
564 struct task_struct *task) in perf_cgroup_sched_in() argument
572 cgrp1 = perf_cgroup_from_task(task); in perf_cgroup_sched_in()
583 perf_cgroup_switch(task, PERF_CGROUP_SWIN); in perf_cgroup_sched_in()
692 static inline void perf_cgroup_sched_out(struct task_struct *task, in perf_cgroup_sched_out() argument
698 struct task_struct *task) in perf_cgroup_sched_in() argument
710 perf_cgroup_set_timestamp(struct task_struct *task, in perf_cgroup_set_timestamp() argument
716 perf_cgroup_switch(struct task_struct *task, struct task_struct *next) in perf_cgroup_switch() argument
903 if (ctx->task) in put_ctx()
904 put_task_struct(ctx->task); in put_ctx()
1068 perf_lock_task_context(struct task_struct *task, int ctxn, unsigned long *flags) in perf_lock_task_context() argument
1084 ctx = rcu_dereference(task->perf_event_ctxp[ctxn]); in perf_lock_task_context()
1097 if (ctx != rcu_dereference(task->perf_event_ctxp[ctxn])) { in perf_lock_task_context()
1120 perf_pin_task_context(struct task_struct *task, int ctxn) in perf_pin_task_context() argument
1125 ctx = perf_lock_task_context(task, ctxn, &flags); in perf_pin_task_context()
1511 if (!ctx->task || ctx->orphans_remove_sched || !perf_wq) in schedule_orphans_remove()
1658 struct task_struct *task = ctx->task; in perf_remove_from_context() local
1666 if (!task) { in perf_remove_from_context()
1678 if (!task_function_call(task, __perf_remove_from_context, &re)) in perf_remove_from_context()
1692 task = ctx->task; in perf_remove_from_context()
1722 if (ctx->task && cpuctx->task_ctx != ctx) in __perf_event_disable()
1763 struct task_struct *task = ctx->task; in _perf_event_disable() local
1765 if (!task) { in _perf_event_disable()
1774 if (!task_function_call(task, __perf_event_disable, event)) in _perf_event_disable()
1787 task = ctx->task; in _perf_event_disable()
2038 struct task_struct *task);
2042 struct task_struct *task) in perf_event_sched_in() argument
2044 cpu_ctx_sched_in(cpuctx, EVENT_PINNED, task); in perf_event_sched_in()
2046 ctx_sched_in(ctx, cpuctx, EVENT_PINNED, task); in perf_event_sched_in()
2047 cpu_ctx_sched_in(cpuctx, EVENT_FLEXIBLE, task); in perf_event_sched_in()
2049 ctx_sched_in(ctx, cpuctx, EVENT_FLEXIBLE, task); in perf_event_sched_in()
2063 struct task_struct *task = current; in __perf_install_in_context() local
2078 if (ctx->task && task_ctx != ctx) { in __perf_install_in_context()
2087 task = task_ctx->task; in __perf_install_in_context()
2105 perf_event_sched_in(cpuctx, task_ctx, task); in __perf_install_in_context()
2128 struct task_struct *task = ctx->task; in perf_install_in_context() local
2136 if (!task) { in perf_install_in_context()
2146 if (!task_function_call(task, __perf_install_in_context, event)) in perf_install_in_context()
2160 task = ctx->task; in perf_install_in_context()
2284 struct task_struct *task = ctx->task; in _perf_event_enable() local
2286 if (!task) { in _perf_event_enable()
2316 if (!task_function_call(task, __perf_event_enable, event)) in _perf_event_enable()
2330 task = ctx->task; in _perf_event_enable()
2520 static void perf_event_context_sched_out(struct task_struct *task, int ctxn, in perf_event_context_sched_out() argument
2523 struct perf_event_context *ctx = task->perf_event_ctxp[ctxn]; in perf_event_context_sched_out()
2565 task->perf_event_ctxp[ctxn] = next_ctx; in perf_event_context_sched_out()
2567 ctx->task = next; in perf_event_context_sched_out()
2568 next_ctx->task = task; in perf_event_context_sched_out()
2654 void __perf_event_task_sched_out(struct task_struct *task, in __perf_event_task_sched_out() argument
2660 perf_pmu_sched_task(task, next, false); in __perf_event_task_sched_out()
2663 perf_event_context_sched_out(task, ctxn, next); in __perf_event_task_sched_out()
2671 perf_cgroup_sched_out(task, next); in __perf_event_task_sched_out()
2760 struct task_struct *task) in ctx_sched_in() argument
2771 perf_cgroup_set_timestamp(task, ctx); in ctx_sched_in()
2786 struct task_struct *task) in cpu_ctx_sched_in() argument
2790 ctx_sched_in(ctx, cpuctx, event_type, task); in cpu_ctx_sched_in()
2794 struct task_struct *task) in perf_event_context_sched_in() argument
2814 perf_event_sched_in(cpuctx, cpuctx->task_ctx, task); in perf_event_context_sched_in()
2832 struct task_struct *task) in __perf_event_task_sched_in() argument
2838 ctx = task->perf_event_ctxp[ctxn]; in __perf_event_task_sched_in()
2842 perf_event_context_sched_in(ctx, task); in __perf_event_task_sched_in()
2850 perf_cgroup_sched_in(prev, task); in __perf_event_task_sched_in()
2853 perf_pmu_sched_task(prev, task, true); in __perf_event_task_sched_in()
3171 perf_event_context_sched_in(ctx, ctx->task); in perf_event_enable_on_exec()
3211 if (ctx->task && cpuctx->task_ctx != ctx) in __perf_event_read()
3279 alloc_perf_context(struct pmu *pmu, struct task_struct *task) in alloc_perf_context() argument
3288 if (task) { in alloc_perf_context()
3289 ctx->task = task; in alloc_perf_context()
3290 get_task_struct(task); in alloc_perf_context()
3300 struct task_struct *task; in find_lively_task_by_vpid() local
3305 task = current; in find_lively_task_by_vpid()
3307 task = find_task_by_vpid(vpid); in find_lively_task_by_vpid()
3308 if (task) in find_lively_task_by_vpid()
3309 get_task_struct(task); in find_lively_task_by_vpid()
3312 if (!task) in find_lively_task_by_vpid()
3317 if (!ptrace_may_access(task, PTRACE_MODE_READ_REALCREDS)) in find_lively_task_by_vpid()
3320 return task; in find_lively_task_by_vpid()
3322 put_task_struct(task); in find_lively_task_by_vpid()
3331 find_get_context(struct pmu *pmu, struct task_struct *task, in find_get_context() argument
3341 if (!task) { in find_get_context()
3376 ctx = perf_lock_task_context(task, ctxn, &flags); in find_get_context()
3390 ctx = alloc_perf_context(pmu, task); in find_get_context()
3401 mutex_lock(&task->perf_event_mutex); in find_get_context()
3406 if (task->flags & PF_EXITING) in find_get_context()
3408 else if (task->perf_event_ctxp[ctxn]) in find_get_context()
3413 rcu_assign_pointer(task->perf_event_ctxp[ctxn], ctx); in find_get_context()
3415 mutex_unlock(&task->perf_event_mutex); in find_get_context()
3471 if (event->attr.task) in unaccount_event()
4021 struct task_struct *task; in perf_event_period() local
4036 task = ctx->task; in perf_event_period()
4039 if (!task) { in perf_event_period()
4045 if (!task_function_call(task, __perf_event_period, &pe)) in perf_event_period()
4051 task = ctx->task; in perf_event_period()
5455 struct task_struct *task) in perf_event_read_event() argument
5465 .pid = perf_event_pid(event, task), in perf_event_read_event()
5466 .tid = perf_event_tid(event, task), in perf_event_read_event()
5542 struct task_struct *task; member
5560 event->attr.task; in perf_event_task_match()
5569 struct task_struct *task = task_event->task; in perf_event_task_output() local
5582 task_event->event_id.pid = perf_event_pid(event, task); in perf_event_task_output()
5585 task_event->event_id.tid = perf_event_tid(event, task); in perf_event_task_output()
5599 static void perf_event_task(struct task_struct *task, in perf_event_task() argument
5611 .task = task, in perf_event_task()
5632 void perf_event_fork(struct task_struct *task) in perf_event_fork() argument
5634 perf_event_task(task, NULL, 1); in perf_event_fork()
5642 struct task_struct *task; member
5678 comm_event->event_id.pid = perf_event_pid(event, comm_event->task); in perf_event_comm_output()
5679 comm_event->event_id.tid = perf_event_tid(event, comm_event->task); in perf_event_comm_output()
5698 strlcpy(comm, comm_event->task->comm, sizeof(comm)); in perf_event_comm_event()
5711 void perf_event_comm(struct task_struct *task, bool exec) in perf_event_comm() argument
5719 .task = task, in perf_event_comm()
6657 struct task_struct *task) in perf_tp_event() argument
6679 if (task && task != current) { in perf_tp_event()
6684 ctx = rcu_dereference(task->perf_event_ctxp[perf_sw_context]); in perf_tp_event()
7499 if (event->attr.task) in account_event()
7518 struct task_struct *task, in perf_event_alloc() argument
7530 if (!task || cpu != -1) in perf_event_alloc()
7575 if (task) { in perf_event_alloc()
7582 event->hw.target = task; in perf_event_alloc()
7921 struct task_struct *task = NULL; in SYSCALL_DEFINE5() local
7978 task = find_lively_task_by_vpid(pid); in SYSCALL_DEFINE5()
7979 if (IS_ERR(task)) { in SYSCALL_DEFINE5()
7980 err = PTR_ERR(task); in SYSCALL_DEFINE5()
7985 if (task && group_leader && in SYSCALL_DEFINE5()
7996 event = perf_event_alloc(&attr, cpu, task, group_leader, NULL, in SYSCALL_DEFINE5()
8048 ctx = find_get_context(pmu, task, event); in SYSCALL_DEFINE5()
8059 if (task) { in SYSCALL_DEFINE5()
8060 put_task_struct(task); in SYSCALL_DEFINE5()
8061 task = NULL; in SYSCALL_DEFINE5()
8090 if (group_leader->ctx->task != ctx->task) in SYSCALL_DEFINE5()
8234 if (task) in SYSCALL_DEFINE5()
8235 put_task_struct(task); in SYSCALL_DEFINE5()
8252 struct task_struct *task, in perf_event_create_kernel_counter() argument
8264 event = perf_event_alloc(attr, cpu, task, NULL, NULL, in perf_event_create_kernel_counter()
8274 ctx = find_get_context(event->pmu, task, event); in perf_event_create_kernel_counter()
8565 void perf_event_free_task(struct task_struct *task) in perf_event_free_task() argument
8572 ctx = task->perf_event_ctxp[ctxn]; in perf_event_free_task()
8596 void perf_event_delayed_put(struct task_struct *task) in perf_event_delayed_put() argument
8601 WARN_ON_ONCE(task->perf_event_ctxp[ctxn]); in perf_event_delayed_put()
9087 struct task_struct *task = info; in __perf_cgroup_move() local
9088 perf_cgroup_switch(task, PERF_CGROUP_SWOUT | PERF_CGROUP_SWIN); in __perf_cgroup_move()
9095 struct task_struct *task; in perf_cgroup_attach() local
9097 cgroup_taskset_for_each(task, tset) in perf_cgroup_attach()
9098 task_function_call(task, __perf_cgroup_move, task); in perf_cgroup_attach()
9103 struct task_struct *task) in perf_cgroup_exit() argument
9110 if (!(task->flags & PF_EXITING)) in perf_cgroup_exit()
9113 task_function_call(task, __perf_cgroup_move, task); in perf_cgroup_exit()