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()
2006 event->pmu_ctx->nr_events--; in list_del_event()
2107 return event->attr.pinned ? &event->pmu_ctx->pinned_active : in get_event_list()
2108 &event->pmu_ctx->flexible_active; in get_event_list()
2218 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_out()
2283 perf_assert_pmu_disabled(group_event->pmu_ctx->pmu); in group_sched_out()
2310 struct perf_event_pmu_context *pmu_ctx = event->pmu_ctx; in __perf_remove_from_context() local
2333 if (!pmu_ctx->nr_events) { in __perf_remove_from_context()
2334 pmu_ctx->rotate_necessary = 0; in __perf_remove_from_context()
2339 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in __perf_remove_from_context()
2340 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __perf_remove_from_context()
2406 perf_pmu_disable(event->pmu_ctx->pmu); in __perf_event_disable()
2416 perf_pmu_enable(event->pmu_ctx->pmu); in __perf_event_disable()
2480 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_in()
2539 struct pmu *pmu = group_event->pmu_ctx->pmu; in group_sched_in()
2586 struct perf_event_pmu_context *epc = event->pmu_ctx; in group_can_go_on()
3200 static void __pmu_ctx_sched_out(struct perf_event_pmu_context *pmu_ctx, in __pmu_ctx_sched_out() argument
3203 struct perf_event_context *ctx = pmu_ctx->ctx; in __pmu_ctx_sched_out()
3205 struct pmu *pmu = pmu_ctx->pmu; in __pmu_ctx_sched_out()
3211 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __pmu_ctx_sched_out()
3221 &pmu_ctx->pinned_active, in __pmu_ctx_sched_out()
3228 &pmu_ctx->flexible_active, in __pmu_ctx_sched_out()
3236 pmu_ctx->rotate_necessary = 0; in __pmu_ctx_sched_out()
3245 struct perf_event_pmu_context *pmu_ctx; in ctx_sched_out() local
3293 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) in ctx_sched_out()
3294 __pmu_ctx_sched_out(pmu_ctx, is_active); in ctx_sched_out()
3437 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_sched_task_cb() local
3440 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in perf_ctx_sched_task_cb()
3441 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in perf_ctx_sched_task_cb()
3443 if (cpc->sched_cb_usage && pmu_ctx->pmu->sched_task) in perf_ctx_sched_task_cb()
3444 pmu_ctx->pmu->sched_task(pmu_ctx, sched_in); in perf_ctx_sched_task_cb()
3673 static void __link_epc(struct perf_event_pmu_context *pmu_ctx) in __link_epc() argument
3677 if (!pmu_ctx->ctx->task) in __link_epc()
3680 cpc = this_cpu_ptr(pmu_ctx->pmu->cpu_pmu_context); in __link_epc()
3681 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __link_epc()
3682 cpc->task_epc = pmu_ctx; in __link_epc()
3737 __link_epc((*evt)->pmu_ctx); in visit_groups_merge()
3738 perf_assert_pmu_disabled((*evt)->pmu_ctx->pmu); in visit_groups_merge()
3811 event->pmu_ctx->rotate_necessary = 1; in merge_sched_in()
3812 cpc = this_cpu_ptr(event->pmu_ctx->pmu->cpu_pmu_context); in merge_sched_in()
3823 struct perf_event_pmu_context *pmu_ctx; in ctx_pinned_sched_in() local
3831 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in ctx_pinned_sched_in()
3834 smp_processor_id(), pmu_ctx->pmu, in ctx_pinned_sched_in()
3842 struct perf_event_pmu_context *pmu_ctx; in ctx_flexible_sched_in() local
3850 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in ctx_flexible_sched_in()
3853 smp_processor_id(), pmu_ctx->pmu, in ctx_flexible_sched_in()
4183 ctx_event_to_rotate(struct perf_event_pmu_context *pmu_ctx) in ctx_event_to_rotate() argument
4189 .pmu = pmu_ctx->pmu, in ctx_event_to_rotate()
4193 event = list_first_entry_or_null(&pmu_ctx->flexible_active, in ctx_event_to_rotate()
4199 tree = &pmu_ctx->ctx->flexible_groups.tree; in ctx_event_to_rotate()
4201 if (!pmu_ctx->ctx->task) { in ctx_event_to_rotate()
4227 pmu_ctx->rotate_necessary = 0; in ctx_event_to_rotate()
5183 if (event->pmu_ctx) in _free_event()
5184 put_pmu_ctx(event->pmu_ctx); in _free_event()
12319 struct perf_event_pmu_context *pmu_ctx; in SYSCALL_DEFINE5() local
12546 pmu = group_leader->pmu_ctx->pmu; in SYSCALL_DEFINE5()
12560 group_leader->pmu_ctx->pmu != pmu) in SYSCALL_DEFINE5()
12568 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in SYSCALL_DEFINE5()
12569 if (IS_ERR(pmu_ctx)) { in SYSCALL_DEFINE5()
12570 err = PTR_ERR(pmu_ctx); in SYSCALL_DEFINE5()
12573 event->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12616 put_pmu_ctx(group_leader->pmu_ctx); in SYSCALL_DEFINE5()
12620 put_pmu_ctx(sibling->pmu_ctx); in SYSCALL_DEFINE5()
12634 sibling->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12635 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
12645 group_leader->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
12646 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
12687 put_pmu_ctx(event->pmu_ctx); in SYSCALL_DEFINE5()
12688 event->pmu_ctx = NULL; /* _free_event() */ in SYSCALL_DEFINE5()
12723 struct perf_event_pmu_context *pmu_ctx; in perf_event_create_kernel_counter() local
12766 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in perf_event_create_kernel_counter()
12767 if (IS_ERR(pmu_ctx)) { in perf_event_create_kernel_counter()
12768 err = PTR_ERR(pmu_ctx); in perf_event_create_kernel_counter()
12771 event->pmu_ctx = pmu_ctx; in perf_event_create_kernel_counter()
12800 put_pmu_ctx(pmu_ctx); in perf_event_create_kernel_counter()
12801 event->pmu_ctx = NULL; /* _free_event() */ in perf_event_create_kernel_counter()
12822 put_pmu_ctx(event->pmu_ctx); in __perf_pmu_remove()
12827 put_pmu_ctx(sibling->pmu_ctx); in __perf_pmu_remove()
12841 event->pmu_ctx = epc; in __perf_pmu_install_event()
13204 struct perf_event_pmu_context *pmu_ctx; in inherit_event() local
13225 pmu_ctx = find_get_pmu_context(child_event->pmu, child_ctx, child_event); in inherit_event()
13226 if (IS_ERR(pmu_ctx)) { in inherit_event()
13228 return ERR_CAST(pmu_ctx); in inherit_event()
13230 child_event->pmu_ctx = pmu_ctx; in inherit_event()