Lines Matching refs:cpuctx

164 static void perf_ctx_lock(struct perf_cpu_context *cpuctx,  in perf_ctx_lock()  argument
167 raw_spin_lock(&cpuctx->ctx.lock); in perf_ctx_lock()
172 static void perf_ctx_unlock(struct perf_cpu_context *cpuctx, in perf_ctx_unlock() argument
177 raw_spin_unlock(&cpuctx->ctx.lock); in perf_ctx_unlock()
220 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in event_function() local
221 struct perf_event_context *task_ctx = cpuctx->task_ctx; in event_function()
226 perf_ctx_lock(cpuctx, task_ctx); in event_function()
251 WARN_ON_ONCE(&cpuctx->ctx != ctx); in event_function()
254 efs->func(event, cpuctx, ctx, efs->data); in event_function()
256 perf_ctx_unlock(cpuctx, task_ctx); in event_function()
317 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in event_function_local() local
330 perf_ctx_lock(cpuctx, task_ctx); in event_function_local()
346 if (WARN_ON_ONCE(cpuctx->task_ctx != ctx)) in event_function_local()
350 WARN_ON_ONCE(&cpuctx->ctx != ctx); in event_function_local()
353 func(event, cpuctx, ctx, data); in event_function_local()
355 perf_ctx_unlock(cpuctx, task_ctx); in event_function_local()
451 static bool perf_rotate_context(struct perf_cpu_context *cpuctx);
574 static void cpu_ctx_sched_out(struct perf_cpu_context *cpuctx,
577 static void cpu_ctx_sched_in(struct perf_cpu_context *cpuctx,
700 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in perf_cgroup_match() local
707 if (!cpuctx->cgrp) in perf_cgroup_match()
716 return cgroup_is_descendant(cpuctx->cgrp->css.cgroup, in perf_cgroup_match()
761 static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx, bool final) in update_cgrp_time_from_cpuctx() argument
763 struct perf_cgroup *cgrp = cpuctx->cgrp; in update_cgrp_time_from_cpuctx()
801 perf_cgroup_set_timestamp(struct perf_cpu_context *cpuctx) in perf_cgroup_set_timestamp() argument
803 struct perf_event_context *ctx = &cpuctx->ctx; in perf_cgroup_set_timestamp()
804 struct perf_cgroup *cgrp = cpuctx->cgrp; in perf_cgroup_set_timestamp()
834 struct perf_cpu_context *cpuctx, *tmp; in perf_cgroup_switch() local
847 list_for_each_entry_safe(cpuctx, tmp, list, cgrp_cpuctx_entry) { in perf_cgroup_switch()
848 WARN_ON_ONCE(cpuctx->ctx.nr_cgroups == 0); in perf_cgroup_switch()
849 if (READ_ONCE(cpuctx->cgrp) == cgrp) in perf_cgroup_switch()
852 perf_ctx_lock(cpuctx, cpuctx->task_ctx); in perf_cgroup_switch()
853 perf_pmu_disable(cpuctx->ctx.pmu); in perf_cgroup_switch()
855 cpu_ctx_sched_out(cpuctx, EVENT_ALL); in perf_cgroup_switch()
861 cpuctx->cgrp = cgrp; in perf_cgroup_switch()
867 cpu_ctx_sched_in(cpuctx, EVENT_ALL); in perf_cgroup_switch()
869 perf_pmu_enable(cpuctx->ctx.pmu); in perf_cgroup_switch()
870 perf_ctx_unlock(cpuctx, cpuctx->task_ctx); in perf_cgroup_switch()
879 struct perf_cpu_context *cpuctx; in perf_cgroup_ensure_storage() local
891 cpuctx = per_cpu_ptr(event->pmu->pmu_cpu_context, cpu); in perf_cgroup_ensure_storage()
892 if (heap_size <= cpuctx->heap_size) in perf_cgroup_ensure_storage()
902 raw_spin_lock_irq(&cpuctx->ctx.lock); in perf_cgroup_ensure_storage()
903 if (cpuctx->heap_size < heap_size) { in perf_cgroup_ensure_storage()
904 swap(cpuctx->heap, storage); in perf_cgroup_ensure_storage()
905 if (storage == cpuctx->heap_default) in perf_cgroup_ensure_storage()
907 cpuctx->heap_size = heap_size; in perf_cgroup_ensure_storage()
909 raw_spin_unlock_irq(&cpuctx->ctx.lock); in perf_cgroup_ensure_storage()
960 struct perf_cpu_context *cpuctx; in perf_cgroup_event_enable() local
969 cpuctx = container_of(ctx, struct perf_cpu_context, ctx); in perf_cgroup_event_enable()
974 cpuctx->cgrp = perf_cgroup_from_task(current, ctx); in perf_cgroup_event_enable()
975 list_add(&cpuctx->cgrp_cpuctx_entry, in perf_cgroup_event_enable()
982 struct perf_cpu_context *cpuctx; in perf_cgroup_event_disable() local
991 cpuctx = container_of(ctx, struct perf_cpu_context, ctx); in perf_cgroup_event_disable()
996 cpuctx->cgrp = NULL; in perf_cgroup_event_disable()
997 list_del(&cpuctx->cgrp_cpuctx_entry); in perf_cgroup_event_disable()
1020 static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx, in update_cgrp_time_from_cpuctx() argument
1033 perf_cgroup_set_timestamp(struct perf_cpu_context *cpuctx) in perf_cgroup_set_timestamp() argument
1072 struct perf_cpu_context *cpuctx; in perf_mux_hrtimer_handler() local
1077 cpuctx = container_of(hr, struct perf_cpu_context, hrtimer); in perf_mux_hrtimer_handler()
1078 rotations = perf_rotate_context(cpuctx); in perf_mux_hrtimer_handler()
1080 raw_spin_lock(&cpuctx->hrtimer_lock); in perf_mux_hrtimer_handler()
1082 hrtimer_forward_now(hr, cpuctx->hrtimer_interval); in perf_mux_hrtimer_handler()
1084 cpuctx->hrtimer_active = 0; in perf_mux_hrtimer_handler()
1085 raw_spin_unlock(&cpuctx->hrtimer_lock); in perf_mux_hrtimer_handler()
1090 static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu) in __perf_mux_hrtimer_init() argument
1092 struct hrtimer *timer = &cpuctx->hrtimer; in __perf_mux_hrtimer_init()
1093 struct pmu *pmu = cpuctx->ctx.pmu; in __perf_mux_hrtimer_init()
1108 cpuctx->hrtimer_interval = ns_to_ktime(NSEC_PER_MSEC * interval); in __perf_mux_hrtimer_init()
1110 raw_spin_lock_init(&cpuctx->hrtimer_lock); in __perf_mux_hrtimer_init()
1115 static int perf_mux_hrtimer_restart(struct perf_cpu_context *cpuctx) in perf_mux_hrtimer_restart() argument
1117 struct hrtimer *timer = &cpuctx->hrtimer; in perf_mux_hrtimer_restart()
1118 struct pmu *pmu = cpuctx->ctx.pmu; in perf_mux_hrtimer_restart()
1125 raw_spin_lock_irqsave(&cpuctx->hrtimer_lock, flags); in perf_mux_hrtimer_restart()
1126 if (!cpuctx->hrtimer_active) { in perf_mux_hrtimer_restart()
1127 cpuctx->hrtimer_active = 1; in perf_mux_hrtimer_restart()
1128 hrtimer_forward_now(timer, cpuctx->hrtimer_interval); in perf_mux_hrtimer_restart()
1131 raw_spin_unlock_irqrestore(&cpuctx->hrtimer_lock, flags); in perf_mux_hrtimer_restart()
2025 struct perf_cpu_context *cpuctx,
2031 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in perf_put_aux_event() local
2060 event_sched_out(iter, cpuctx, ctx); in perf_put_aux_event()
2124 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in perf_remove_sibling_event() local
2126 event_sched_out(event, cpuctx, ctx); in perf_remove_sibling_event()
2257 struct perf_cpu_context *cpuctx, in event_sched_out() argument
2304 cpuctx->active_oncpu--; in event_sched_out()
2309 if (event->attr.exclusive || !cpuctx->active_oncpu) in event_sched_out()
2310 cpuctx->exclusive = 0; in event_sched_out()
2317 struct perf_cpu_context *cpuctx, in group_sched_out() argument
2327 event_sched_out(group_event, cpuctx, ctx); in group_sched_out()
2333 event_sched_out(event, cpuctx, ctx); in group_sched_out()
2350 struct perf_cpu_context *cpuctx, in __perf_remove_from_context() argument
2358 update_cgrp_time_from_cpuctx(cpuctx, false); in __perf_remove_from_context()
2367 event_sched_out(event, cpuctx, ctx); in __perf_remove_from_context()
2377 if (ctx == &cpuctx->ctx) in __perf_remove_from_context()
2378 update_cgrp_time_from_cpuctx(cpuctx, true); in __perf_remove_from_context()
2383 WARN_ON_ONCE(cpuctx->task_ctx != ctx); in __perf_remove_from_context()
2384 cpuctx->task_ctx = NULL; in __perf_remove_from_context()
2430 struct perf_cpu_context *cpuctx, in __perf_event_disable() argument
2443 group_sched_out(event, cpuctx, ctx); in __perf_event_disable()
2445 event_sched_out(event, cpuctx, ctx); in __perf_event_disable()
2511 struct perf_cpu_context *cpuctx, in event_sched_in() argument
2554 cpuctx->active_oncpu++; in event_sched_in()
2561 cpuctx->exclusive = 1; in event_sched_in()
2571 struct perf_cpu_context *cpuctx, in group_sched_in() argument
2582 if (event_sched_in(group_event, cpuctx, ctx)) in group_sched_in()
2589 if (event_sched_in(event, cpuctx, ctx)) { in group_sched_in()
2608 event_sched_out(event, cpuctx, ctx); in group_sched_in()
2610 event_sched_out(group_event, cpuctx, ctx); in group_sched_in()
2621 struct perf_cpu_context *cpuctx, in group_can_go_on() argument
2633 if (cpuctx->exclusive) in group_can_go_on()
2656 struct perf_cpu_context *cpuctx,
2660 struct perf_cpu_context *cpuctx,
2663 static void task_ctx_sched_out(struct perf_cpu_context *cpuctx, in task_ctx_sched_out() argument
2667 if (!cpuctx->task_ctx) in task_ctx_sched_out()
2670 if (WARN_ON_ONCE(ctx != cpuctx->task_ctx)) in task_ctx_sched_out()
2673 ctx_sched_out(ctx, cpuctx, event_type); in task_ctx_sched_out()
2676 static void perf_event_sched_in(struct perf_cpu_context *cpuctx, in perf_event_sched_in() argument
2679 cpu_ctx_sched_in(cpuctx, EVENT_PINNED); in perf_event_sched_in()
2681 ctx_sched_in(ctx, cpuctx, EVENT_PINNED); in perf_event_sched_in()
2682 cpu_ctx_sched_in(cpuctx, EVENT_FLEXIBLE); in perf_event_sched_in()
2684 ctx_sched_in(ctx, cpuctx, EVENT_FLEXIBLE); in perf_event_sched_in()
2702 static void ctx_resched(struct perf_cpu_context *cpuctx, in ctx_resched() argument
2718 perf_pmu_disable(cpuctx->ctx.pmu); in ctx_resched()
2720 task_ctx_sched_out(cpuctx, task_ctx, event_type); in ctx_resched()
2730 cpu_ctx_sched_out(cpuctx, ctx_event_type); in ctx_resched()
2732 cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE); in ctx_resched()
2734 perf_event_sched_in(cpuctx, task_ctx); in ctx_resched()
2735 perf_pmu_enable(cpuctx->ctx.pmu); in ctx_resched()
2740 struct perf_cpu_context *cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); in perf_pmu_resched() local
2741 struct perf_event_context *task_ctx = cpuctx->task_ctx; in perf_pmu_resched()
2743 perf_ctx_lock(cpuctx, task_ctx); in perf_pmu_resched()
2744 ctx_resched(cpuctx, task_ctx, EVENT_ALL|EVENT_CPU); in perf_pmu_resched()
2745 perf_ctx_unlock(cpuctx, task_ctx); in perf_pmu_resched()
2758 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in __perf_install_in_context() local
2759 struct perf_event_context *task_ctx = cpuctx->task_ctx; in __perf_install_in_context()
2763 raw_spin_lock(&cpuctx->ctx.lock); in __perf_install_in_context()
2782 WARN_ON_ONCE(reprogram && cpuctx->task_ctx && cpuctx->task_ctx != ctx); in __perf_install_in_context()
2800 ctx_sched_out(ctx, cpuctx, EVENT_TIME); in __perf_install_in_context()
2802 ctx_resched(cpuctx, task_ctx, get_event_type(event)); in __perf_install_in_context()
2808 perf_ctx_unlock(cpuctx, task_ctx); in __perf_install_in_context()
2936 struct perf_cpu_context *cpuctx, in __perf_event_enable() argument
2948 ctx_sched_out(ctx, cpuctx, EVENT_TIME); in __perf_event_enable()
2957 ctx_sched_in(ctx, cpuctx, EVENT_TIME); in __perf_event_enable()
2966 ctx_sched_in(ctx, cpuctx, EVENT_TIME); in __perf_event_enable()
2970 task_ctx = cpuctx->task_ctx; in __perf_event_enable()
2974 ctx_resched(cpuctx, task_ctx, get_event_type(event)); in __perf_event_enable()
3236 struct perf_cpu_context *cpuctx, in ctx_sched_out() argument
3250 WARN_ON_ONCE(cpuctx->task_ctx); in ctx_sched_out()
3267 update_cgrp_time_from_cpuctx(cpuctx, ctx == &cpuctx->ctx); in ctx_sched_out()
3280 WARN_ON_ONCE(cpuctx->task_ctx != ctx); in ctx_sched_out()
3282 cpuctx->task_ctx = NULL; in ctx_sched_out()
3293 group_sched_out(event, cpuctx, ctx); in ctx_sched_out()
3298 group_sched_out(event, cpuctx, ctx); in ctx_sched_out()
3418 struct perf_cpu_context *cpuctx; in perf_event_context_sched_out() local
3426 cpuctx = __get_cpu_context(ctx); in perf_event_context_sched_out()
3427 if (!cpuctx->task_ctx) in perf_event_context_sched_out()
3473 if (cpuctx->sched_cb_usage && pmu->sched_task) in perf_event_context_sched_out()
3514 if (cpuctx->sched_cb_usage && pmu->sched_task) in perf_event_context_sched_out()
3516 task_ctx_sched_out(cpuctx, ctx, EVENT_ALL); in perf_event_context_sched_out()
3527 struct perf_cpu_context *cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); in perf_sched_cb_dec() local
3531 if (!--cpuctx->sched_cb_usage) in perf_sched_cb_dec()
3532 list_del(&cpuctx->sched_cb_entry); in perf_sched_cb_dec()
3538 struct perf_cpu_context *cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); in perf_sched_cb_inc() local
3540 if (!cpuctx->sched_cb_usage++) in perf_sched_cb_inc()
3541 list_add(&cpuctx->sched_cb_entry, this_cpu_ptr(&sched_cb_list)); in perf_sched_cb_inc()
3554 static void __perf_pmu_sched_task(struct perf_cpu_context *cpuctx, bool sched_in) in __perf_pmu_sched_task() argument
3558 pmu = cpuctx->ctx.pmu; /* software PMUs will not have sched_task */ in __perf_pmu_sched_task()
3563 perf_ctx_lock(cpuctx, cpuctx->task_ctx); in __perf_pmu_sched_task()
3566 pmu->sched_task(cpuctx->task_ctx, sched_in); in __perf_pmu_sched_task()
3569 perf_ctx_unlock(cpuctx, cpuctx->task_ctx); in __perf_pmu_sched_task()
3576 struct perf_cpu_context *cpuctx; in perf_pmu_sched_task() local
3581 list_for_each_entry(cpuctx, this_cpu_ptr(&sched_cb_list), sched_cb_entry) { in perf_pmu_sched_task()
3583 if (cpuctx->task_ctx) in perf_pmu_sched_task()
3586 __perf_pmu_sched_task(cpuctx, sched_in); in perf_pmu_sched_task()
3633 static void cpu_ctx_sched_out(struct perf_cpu_context *cpuctx, in cpu_ctx_sched_out() argument
3636 ctx_sched_out(&cpuctx->ctx, cpuctx, event_type); in cpu_ctx_sched_out()
3670 static noinline int visit_groups_merge(struct perf_cpu_context *cpuctx, in visit_groups_merge() argument
3684 if (cpuctx) { in visit_groups_merge()
3686 .data = cpuctx->heap, in visit_groups_merge()
3688 .size = cpuctx->heap_size, in visit_groups_merge()
3691 lockdep_assert_held(&cpuctx->ctx.lock); in visit_groups_merge()
3694 if (cpuctx->cgrp) in visit_groups_merge()
3695 css = &cpuctx->cgrp->css; in visit_groups_merge()
3764 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in merge_sched_in() local
3773 if (group_can_go_on(event, cpuctx, *can_add_hw)) { in merge_sched_in()
3774 if (!group_sched_in(event, cpuctx, ctx)) in merge_sched_in()
3785 perf_mux_hrtimer_restart(cpuctx); in merge_sched_in()
3795 struct perf_cpu_context *cpuctx) in ctx_pinned_sched_in() argument
3799 if (ctx != &cpuctx->ctx) in ctx_pinned_sched_in()
3800 cpuctx = NULL; in ctx_pinned_sched_in()
3802 visit_groups_merge(cpuctx, &ctx->pinned_groups, in ctx_pinned_sched_in()
3809 struct perf_cpu_context *cpuctx) in ctx_flexible_sched_in() argument
3813 if (ctx != &cpuctx->ctx) in ctx_flexible_sched_in()
3814 cpuctx = NULL; in ctx_flexible_sched_in()
3816 visit_groups_merge(cpuctx, &ctx->flexible_groups, in ctx_flexible_sched_in()
3823 struct perf_cpu_context *cpuctx, in ctx_sched_in() argument
3836 perf_cgroup_set_timestamp(cpuctx); in ctx_sched_in()
3847 cpuctx->task_ctx = ctx; in ctx_sched_in()
3849 WARN_ON_ONCE(cpuctx->task_ctx != ctx); in ctx_sched_in()
3859 ctx_pinned_sched_in(ctx, cpuctx); in ctx_sched_in()
3863 ctx_flexible_sched_in(ctx, cpuctx); in ctx_sched_in()
3866 static void cpu_ctx_sched_in(struct perf_cpu_context *cpuctx, in cpu_ctx_sched_in() argument
3869 struct perf_event_context *ctx = &cpuctx->ctx; in cpu_ctx_sched_in()
3871 ctx_sched_in(ctx, cpuctx, event_type); in cpu_ctx_sched_in()
3877 struct perf_cpu_context *cpuctx; in perf_event_context_sched_in() local
3880 cpuctx = __get_cpu_context(ctx); in perf_event_context_sched_in()
3886 pmu = ctx->pmu = cpuctx->ctx.pmu; in perf_event_context_sched_in()
3888 if (cpuctx->task_ctx == ctx) { in perf_event_context_sched_in()
3889 if (cpuctx->sched_cb_usage) in perf_event_context_sched_in()
3890 __perf_pmu_sched_task(cpuctx, true); in perf_event_context_sched_in()
3894 perf_ctx_lock(cpuctx, ctx); in perf_event_context_sched_in()
3912 cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE); in perf_event_context_sched_in()
3913 perf_event_sched_in(cpuctx, ctx); in perf_event_context_sched_in()
3915 if (cpuctx->sched_cb_usage && pmu->sched_task) in perf_event_context_sched_in()
3916 pmu->sched_task(cpuctx->task_ctx, true); in perf_event_context_sched_in()
3921 perf_ctx_unlock(cpuctx, ctx); in perf_event_context_sched_in()
4174 static bool perf_rotate_context(struct perf_cpu_context *cpuctx) in perf_rotate_context() argument
4185 cpu_rotate = cpuctx->ctx.rotate_necessary; in perf_rotate_context()
4186 task_ctx = cpuctx->task_ctx; in perf_rotate_context()
4192 perf_ctx_lock(cpuctx, cpuctx->task_ctx); in perf_rotate_context()
4193 perf_pmu_disable(cpuctx->ctx.pmu); in perf_rotate_context()
4198 cpu_event = ctx_event_to_rotate(&cpuctx->ctx); in perf_rotate_context()
4205 ctx_sched_out(task_ctx, cpuctx, EVENT_FLEXIBLE); in perf_rotate_context()
4207 cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE); in perf_rotate_context()
4212 rotate_ctx(&cpuctx->ctx, cpu_event); in perf_rotate_context()
4214 perf_event_sched_in(cpuctx, task_ctx); in perf_rotate_context()
4216 perf_pmu_enable(cpuctx->ctx.pmu); in perf_rotate_context()
4217 perf_ctx_unlock(cpuctx, cpuctx->task_ctx); in perf_rotate_context()
4261 struct perf_cpu_context *cpuctx; in perf_event_enable_on_exec() local
4271 cpuctx = __get_cpu_context(ctx); in perf_event_enable_on_exec()
4272 perf_ctx_lock(cpuctx, ctx); in perf_event_enable_on_exec()
4273 ctx_sched_out(ctx, cpuctx, EVENT_TIME); in perf_event_enable_on_exec()
4284 ctx_resched(cpuctx, ctx, event_type); in perf_event_enable_on_exec()
4286 ctx_sched_in(ctx, cpuctx, EVENT_TIME); in perf_event_enable_on_exec()
4288 perf_ctx_unlock(cpuctx, ctx); in perf_event_enable_on_exec()
4378 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in __perf_event_read() local
4388 if (ctx->task && cpuctx->task_ctx != ctx) in __perf_event_read()
4658 struct perf_cpu_context *cpuctx; in find_get_context() local
4670 cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); in find_get_context()
4671 ctx = &cpuctx->ctx; in find_get_context()
5537 struct perf_cpu_context *cpuctx, in __perf_event_period() argument
7849 struct perf_cpu_context *cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); in __perf_pmu_output_stop() local
7855 perf_iterate_ctx(&cpuctx->ctx, __perf_event_output_stop, &ro, false); in __perf_pmu_output_stop()
7856 if (cpuctx->task_ctx) in __perf_pmu_output_stop()
7857 perf_iterate_ctx(cpuctx->task_ctx, __perf_event_output_stop, in __perf_pmu_output_stop()
11154 struct perf_cpu_context *cpuctx; in perf_event_mux_interval_ms_store() local
11155 cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); in perf_event_mux_interval_ms_store()
11156 cpuctx->hrtimer_interval = ns_to_ktime(NSEC_PER_MSEC * timer); in perf_event_mux_interval_ms_store()
11159 (remote_function_f)perf_mux_hrtimer_restart, cpuctx); in perf_event_mux_interval_ms_store()
11295 struct perf_cpu_context *cpuctx; in perf_pmu_register() local
11297 cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); in perf_pmu_register()
11298 __perf_event_init_context(&cpuctx->ctx); in perf_pmu_register()
11299 lockdep_set_class(&cpuctx->ctx.mutex, &cpuctx_mutex); in perf_pmu_register()
11300 lockdep_set_class(&cpuctx->ctx.lock, &cpuctx_lock); in perf_pmu_register()
11301 cpuctx->ctx.pmu = pmu; in perf_pmu_register()
11302 cpuctx->online = cpumask_test_cpu(cpu, perf_online_mask); in perf_pmu_register()
11304 __perf_mux_hrtimer_init(cpuctx, cpu); in perf_pmu_register()
11306 cpuctx->heap_size = ARRAY_SIZE(cpuctx->heap_default); in perf_pmu_register()
11307 cpuctx->heap = cpuctx->heap_default; in perf_pmu_register()
12530 struct perf_cpu_context *cpuctx = in SYSCALL_DEFINE5() local
12533 if (!cpuctx->online) { in SYSCALL_DEFINE5()
12730 struct perf_cpu_context *cpuctx = in perf_event_create_kernel_counter() local
12732 if (!cpuctx->online) { in perf_event_create_kernel_counter()
13483 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); in __perf_event_exit_context() local
13487 ctx_sched_out(ctx, cpuctx, EVENT_TIME); in __perf_event_exit_context()
13489 __perf_remove_from_context(event, cpuctx, ctx, (void *)DETACH_GROUP); in __perf_event_exit_context()
13495 struct perf_cpu_context *cpuctx; in perf_event_exit_cpu_context() local
13501 cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); in perf_event_exit_cpu_context()
13502 ctx = &cpuctx->ctx; in perf_event_exit_cpu_context()
13506 cpuctx->online = 0; in perf_event_exit_cpu_context()
13520 struct perf_cpu_context *cpuctx; in perf_event_init_cpu() local
13529 cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); in perf_event_init_cpu()
13530 ctx = &cpuctx->ctx; in perf_event_init_cpu()
13533 cpuctx->online = 1; in perf_event_init_cpu()