Lines Matching refs:pmu_ctx
689 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_disable() local
691 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) in perf_ctx_disable()
692 perf_pmu_disable(pmu_ctx->pmu); in perf_ctx_disable()
697 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_enable() local
699 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) in perf_ctx_enable()
700 perf_pmu_enable(pmu_ctx->pmu); in perf_ctx_enable()
1578 if (left_pmu < right->pmu_ctx->pmu) in perf_event_groups_cmp()
1580 if (left_pmu > right->pmu_ctx->pmu) in perf_event_groups_cmp()
1626 return perf_event_groups_cmp(e->cpu, e->pmu_ctx->pmu, event_cgroup(e), in __group_less()
1794 event->pmu_ctx->nr_events++; in list_add_event()
2007 event->pmu_ctx->nr_events--; in list_del_event()
2108 return event->attr.pinned ? &event->pmu_ctx->pinned_active : in get_event_list()
2109 &event->pmu_ctx->flexible_active; in get_event_list()
2220 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_out()
2285 perf_assert_pmu_disabled(group_event->pmu_ctx->pmu); in group_sched_out()
2312 struct perf_event_pmu_context *pmu_ctx = event->pmu_ctx; in __perf_remove_from_context() local
2335 if (!pmu_ctx->nr_events) { in __perf_remove_from_context()
2336 pmu_ctx->rotate_necessary = 0; in __perf_remove_from_context()
2341 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in __perf_remove_from_context()
2342 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __perf_remove_from_context()
2408 perf_pmu_disable(event->pmu_ctx->pmu); in __perf_event_disable()
2418 perf_pmu_enable(event->pmu_ctx->pmu); in __perf_event_disable()
2482 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_in()
2541 struct pmu *pmu = group_event->pmu_ctx->pmu; in group_sched_in()
2588 struct perf_event_pmu_context *epc = event->pmu_ctx; in group_can_go_on()
3202 static void __pmu_ctx_sched_out(struct perf_event_pmu_context *pmu_ctx, in __pmu_ctx_sched_out() argument
3205 struct perf_event_context *ctx = pmu_ctx->ctx; in __pmu_ctx_sched_out()
3207 struct pmu *pmu = pmu_ctx->pmu; in __pmu_ctx_sched_out()
3213 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __pmu_ctx_sched_out()
3223 &pmu_ctx->pinned_active, in __pmu_ctx_sched_out()
3230 &pmu_ctx->flexible_active, in __pmu_ctx_sched_out()
3238 pmu_ctx->rotate_necessary = 0; in __pmu_ctx_sched_out()
3247 struct perf_event_pmu_context *pmu_ctx; in ctx_sched_out() local
3295 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) in ctx_sched_out()
3296 __pmu_ctx_sched_out(pmu_ctx, is_active); in ctx_sched_out()
3439 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_sched_task_cb() local
3442 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in perf_ctx_sched_task_cb()
3443 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in perf_ctx_sched_task_cb()
3445 if (cpc->sched_cb_usage && pmu_ctx->pmu->sched_task) in perf_ctx_sched_task_cb()
3446 pmu_ctx->pmu->sched_task(pmu_ctx, sched_in); in perf_ctx_sched_task_cb()
3675 static void __link_epc(struct perf_event_pmu_context *pmu_ctx) in __link_epc() argument
3679 if (!pmu_ctx->ctx->task) in __link_epc()
3682 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in __link_epc()
3683 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __link_epc()
3684 cpc->task_epc = pmu_ctx; in __link_epc()
3739 __link_epc((*evt)->pmu_ctx); in visit_groups_merge()
3740 perf_assert_pmu_disabled((*evt)->pmu_ctx->pmu); in visit_groups_merge()
3813 event->pmu_ctx->rotate_necessary = 1; in merge_sched_in()
3814 cpc = this_cpu_ptr(event->pmu_ctx->pmu->cpu_pmu_context); in merge_sched_in()
3825 struct perf_event_pmu_context *pmu_ctx; in ctx_pinned_sched_in() local
3833 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in ctx_pinned_sched_in()
3836 smp_processor_id(), pmu_ctx->pmu, in ctx_pinned_sched_in()
3844 struct perf_event_pmu_context *pmu_ctx; in ctx_flexible_sched_in() local
3852 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in ctx_flexible_sched_in()
3855 smp_processor_id(), pmu_ctx->pmu, in ctx_flexible_sched_in()
4185 ctx_event_to_rotate(struct perf_event_pmu_context *pmu_ctx) in ctx_event_to_rotate() argument
4191 .pmu = pmu_ctx->pmu, in ctx_event_to_rotate()
4195 event = list_first_entry_or_null(&pmu_ctx->flexible_active, in ctx_event_to_rotate()
4201 tree = &pmu_ctx->ctx->flexible_groups.tree; in ctx_event_to_rotate()
4203 if (!pmu_ctx->ctx->task) { in ctx_event_to_rotate()
4229 pmu_ctx->rotate_necessary = 0; in ctx_event_to_rotate()
5185 if (event->pmu_ctx) in _free_event()
5186 put_pmu_ctx(event->pmu_ctx); in _free_event()
12356 struct perf_event_pmu_context *pmu_ctx; in SYSCALL_DEFINE5() local
12583 pmu = group_leader->pmu_ctx->pmu; in SYSCALL_DEFINE5()
12597 group_leader->pmu_ctx->pmu != pmu) in SYSCALL_DEFINE5()
12605 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in SYSCALL_DEFINE5()
12606 if (IS_ERR(pmu_ctx)) { in SYSCALL_DEFINE5()
12607 err = PTR_ERR(pmu_ctx); in SYSCALL_DEFINE5()
12610 event->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12653 put_pmu_ctx(group_leader->pmu_ctx); in SYSCALL_DEFINE5()
12657 put_pmu_ctx(sibling->pmu_ctx); in SYSCALL_DEFINE5()
12671 sibling->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12672 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
12682 group_leader->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12683 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
12724 put_pmu_ctx(event->pmu_ctx); in SYSCALL_DEFINE5()
12725 event->pmu_ctx = NULL; /* _free_event() */ in SYSCALL_DEFINE5()
12760 struct perf_event_pmu_context *pmu_ctx; in perf_event_create_kernel_counter() local
12803 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in perf_event_create_kernel_counter()
12804 if (IS_ERR(pmu_ctx)) { in perf_event_create_kernel_counter()
12805 err = PTR_ERR(pmu_ctx); in perf_event_create_kernel_counter()
12808 event->pmu_ctx = pmu_ctx; in perf_event_create_kernel_counter()
12837 put_pmu_ctx(pmu_ctx); in perf_event_create_kernel_counter()
12838 event->pmu_ctx = NULL; /* _free_event() */ in perf_event_create_kernel_counter()
12859 put_pmu_ctx(event->pmu_ctx); in __perf_pmu_remove()
12864 put_pmu_ctx(sibling->pmu_ctx); in __perf_pmu_remove()
12878 event->pmu_ctx = epc; in __perf_pmu_install_event()
13243 struct perf_event_pmu_context *pmu_ctx; in inherit_event() local
13264 pmu_ctx = find_get_pmu_context(child_event->pmu, child_ctx, child_event); in inherit_event()
13265 if (IS_ERR(pmu_ctx)) { in inherit_event()
13267 return ERR_CAST(pmu_ctx); in inherit_event()
13269 child_event->pmu_ctx = pmu_ctx; in inherit_event()