Lines Matching refs:pmu_ctx

778 	struct perf_event_pmu_context *pmu_ctx;  in perf_ctx_disable()  local
780 for_each_epc(pmu_ctx, ctx, NULL, cgroup) in perf_ctx_disable()
781 perf_pmu_disable(pmu_ctx->pmu); in perf_ctx_disable()
786 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_enable() local
788 for_each_epc(pmu_ctx, ctx, NULL, cgroup) in perf_ctx_enable()
789 perf_pmu_enable(pmu_ctx->pmu); in perf_ctx_enable()
1053 event->pmu_ctx->nr_cgroups++; in perf_cgroup_event_enable()
1075 event->pmu_ctx->nr_cgroups--; in perf_cgroup_event_disable()
1666 if (left_pmu < right->pmu_ctx->pmu) in perf_event_groups_cmp()
1668 if (left_pmu > right->pmu_ctx->pmu) in perf_event_groups_cmp()
1714 return perf_event_groups_cmp(e->cpu, e->pmu_ctx->pmu, event_cgroup(e), in __group_less()
1892 event->pmu_ctx->nr_events++; in list_add_event()
2132 event->pmu_ctx->nr_events--; in list_del_event()
2237 return event->attr.pinned ? &event->pmu_ctx->pinned_active : in get_event_list()
2238 &event->pmu_ctx->flexible_active; in get_event_list()
2349 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_out()
2401 perf_assert_pmu_disabled(group_event->pmu_ctx->pmu); in group_sched_out()
2468 struct perf_event_pmu_context *pmu_ctx = event->pmu_ctx; in __perf_remove_from_context() local
2492 if (!pmu_ctx->nr_events) { in __perf_remove_from_context()
2493 pmu_ctx->rotate_necessary = 0; in __perf_remove_from_context()
2496 struct perf_cpu_pmu_context *cpc = this_cpc(pmu_ctx->pmu); in __perf_remove_from_context()
2498 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __perf_remove_from_context()
2559 perf_pmu_disable(event->pmu_ctx->pmu); in __perf_event_disable()
2570 perf_pmu_enable(event->pmu_ctx->pmu); in __perf_event_disable()
2634 struct perf_event_pmu_context *epc = event->pmu_ctx; in event_sched_in()
2694 struct pmu *pmu = group_event->pmu_ctx->pmu; in group_sched_in()
2741 struct perf_event_pmu_context *epc = event->pmu_ctx; in group_can_go_on()
2930 ctx_resched(cpuctx, task_ctx, event->pmu_ctx->pmu, in __perf_install_in_context()
3096 ctx_resched(cpuctx, task_ctx, event->pmu_ctx->pmu, get_event_type(event)); in __perf_event_enable()
3357 static void __pmu_ctx_sched_out(struct perf_event_pmu_context *pmu_ctx, in __pmu_ctx_sched_out() argument
3360 struct perf_event_context *ctx = pmu_ctx->ctx; in __pmu_ctx_sched_out()
3362 struct pmu *pmu = pmu_ctx->pmu; in __pmu_ctx_sched_out()
3367 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __pmu_ctx_sched_out()
3377 &pmu_ctx->pinned_active, in __pmu_ctx_sched_out()
3384 &pmu_ctx->flexible_active, in __pmu_ctx_sched_out()
3392 pmu_ctx->rotate_necessary = 0; in __pmu_ctx_sched_out()
3410 struct perf_event_pmu_context *pmu_ctx; in ctx_sched_out() local
3466 for_each_epc(pmu_ctx, ctx, pmu, cgroup) in ctx_sched_out()
3467 __pmu_ctx_sched_out(pmu_ctx, is_active); in ctx_sched_out()
3574 struct perf_event_pmu_context *pmu_ctx; in perf_ctx_sched_task_cb() local
3577 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in perf_ctx_sched_task_cb()
3578 cpc = this_cpc(pmu_ctx->pmu); in perf_ctx_sched_task_cb()
3580 if (cpc->sched_cb_usage && pmu_ctx->pmu->sched_task) in perf_ctx_sched_task_cb()
3581 pmu_ctx->pmu->sched_task(pmu_ctx, task, sched_in); in perf_ctx_sched_task_cb()
3809 static void __link_epc(struct perf_event_pmu_context *pmu_ctx) in __link_epc() argument
3813 if (!pmu_ctx->ctx->task) in __link_epc()
3816 cpc = this_cpc(pmu_ctx->pmu); in __link_epc()
3817 WARN_ON_ONCE(cpc->task_epc && cpc->task_epc != pmu_ctx); in __link_epc()
3818 cpc->task_epc = pmu_ctx; in __link_epc()
3873 __link_epc((*evt)->pmu_ctx); in visit_groups_merge()
3874 perf_assert_pmu_disabled((*evt)->pmu_ctx->pmu); in visit_groups_merge()
3950 struct perf_cpu_pmu_context *cpc = this_cpc(event->pmu_ctx->pmu); in merge_sched_in()
3952 event->pmu_ctx->rotate_necessary = 1; in merge_sched_in()
3970 static void __pmu_ctx_sched_in(struct perf_event_pmu_context *pmu_ctx, in __pmu_ctx_sched_in() argument
3973 struct perf_event_context *ctx = pmu_ctx->ctx; in __pmu_ctx_sched_in()
3976 pmu_groups_sched_in(ctx, &ctx->pinned_groups, pmu_ctx->pmu); in __pmu_ctx_sched_in()
3978 pmu_groups_sched_in(ctx, &ctx->flexible_groups, pmu_ctx->pmu); in __pmu_ctx_sched_in()
3985 struct perf_event_pmu_context *pmu_ctx; in ctx_sched_in() local
4022 for_each_epc(pmu_ctx, ctx, pmu, cgroup) in ctx_sched_in()
4023 __pmu_ctx_sched_in(pmu_ctx, EVENT_PINNED); in ctx_sched_in()
4028 for_each_epc(pmu_ctx, ctx, pmu, cgroup) in ctx_sched_in()
4029 __pmu_ctx_sched_in(pmu_ctx, EVENT_FLEXIBLE); in ctx_sched_in()
4281 struct perf_event_pmu_context *pmu_ctx; in perf_adjust_freq_unthr_context() local
4293 list_for_each_entry(pmu_ctx, &ctx->pmu_ctx_list, pmu_ctx_entry) { in perf_adjust_freq_unthr_context()
4294 if (!(pmu_ctx->nr_freq || unthrottle)) in perf_adjust_freq_unthr_context()
4296 if (!perf_pmu_ctx_is_active(pmu_ctx)) in perf_adjust_freq_unthr_context()
4298 if (pmu_ctx->pmu->capabilities & PERF_PMU_CAP_NO_INTERRUPT) in perf_adjust_freq_unthr_context()
4301 perf_pmu_disable(pmu_ctx->pmu); in perf_adjust_freq_unthr_context()
4302 perf_adjust_freq_unthr_events(&pmu_ctx->pinned_active); in perf_adjust_freq_unthr_context()
4303 perf_adjust_freq_unthr_events(&pmu_ctx->flexible_active); in perf_adjust_freq_unthr_context()
4304 perf_pmu_enable(pmu_ctx->pmu); in perf_adjust_freq_unthr_context()
4328 ctx_event_to_rotate(struct perf_event_pmu_context *pmu_ctx) in ctx_event_to_rotate() argument
4334 .pmu = pmu_ctx->pmu, in ctx_event_to_rotate()
4338 event = list_first_entry_or_null(&pmu_ctx->flexible_active, in ctx_event_to_rotate()
4344 tree = &pmu_ctx->ctx->flexible_groups.tree; in ctx_event_to_rotate()
4346 if (!pmu_ctx->ctx->task) { in ctx_event_to_rotate()
4372 pmu_ctx->rotate_necessary = 0; in ctx_event_to_rotate()
5548 if (event->pmu_ctx) { in __free_event()
5554 WARN_ON_ONCE(event->pmu_ctx->ctx != event->ctx); in __free_event()
5555 put_pmu_ctx(event->pmu_ctx); in __free_event()
13066 struct perf_event_pmu_context *pmu_ctx; in SYSCALL_DEFINE5() local
13294 pmu = group_leader->pmu_ctx->pmu; in SYSCALL_DEFINE5()
13308 group_leader->pmu_ctx->pmu != pmu) in SYSCALL_DEFINE5()
13316 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in SYSCALL_DEFINE5()
13317 if (IS_ERR(pmu_ctx)) { in SYSCALL_DEFINE5()
13318 err = PTR_ERR(pmu_ctx); in SYSCALL_DEFINE5()
13321 event->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
13364 put_pmu_ctx(group_leader->pmu_ctx); in SYSCALL_DEFINE5()
13368 put_pmu_ctx(sibling->pmu_ctx); in SYSCALL_DEFINE5()
13382 sibling->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
13383 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
13393 group_leader->pmu_ctx = pmu_ctx; in SYSCALL_DEFINE5()
13394 get_pmu_ctx(pmu_ctx); in SYSCALL_DEFINE5()
13434 put_pmu_ctx(event->pmu_ctx); in SYSCALL_DEFINE5()
13435 event->pmu_ctx = NULL; /* _free_event() */ in SYSCALL_DEFINE5()
13468 struct perf_event_pmu_context *pmu_ctx; in perf_event_create_kernel_counter() local
13511 pmu_ctx = find_get_pmu_context(pmu, ctx, event); in perf_event_create_kernel_counter()
13512 if (IS_ERR(pmu_ctx)) { in perf_event_create_kernel_counter()
13513 err = PTR_ERR(pmu_ctx); in perf_event_create_kernel_counter()
13516 event->pmu_ctx = pmu_ctx; in perf_event_create_kernel_counter()
13545 put_pmu_ctx(pmu_ctx); in perf_event_create_kernel_counter()
13546 event->pmu_ctx = NULL; /* _free_event() */ in perf_event_create_kernel_counter()
13567 put_pmu_ctx(event->pmu_ctx); in __perf_pmu_remove()
13572 put_pmu_ctx(sibling->pmu_ctx); in __perf_pmu_remove()
13589 event->pmu_ctx = epc; in __perf_pmu_install_event()
13970 struct perf_event_pmu_context *pmu_ctx; in inherit_event() local
13994 pmu_ctx = find_get_pmu_context(child_event->pmu, child_ctx, child_event); in inherit_event()
13995 if (IS_ERR(pmu_ctx)) { in inherit_event()
13997 return ERR_CAST(pmu_ctx); in inherit_event()
13999 child_event->pmu_ctx = pmu_ctx; in inherit_event()