函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-27 14:52:57
Last Modify:2022-05-20 07:50:19 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:perf_event_context_sched_in

函数原型:static void perf_event_context_sched_in(struct perf_event_context *ctx, struct task_struct *task)

返回类型:void

参数:

类型参数名称
struct perf_event_context *ctx
struct task_struct *task
3563  cpuctx等于__get_cpu_context(ctx)
3564  如果task_ctx恒等于ctx则返回
3567  perf_ctx_lock(cpuctx, ctx)
3572  如果非nr_events则转到:unlock
3575  perf_pmu_disable(pmu)
3584  如果非RB_EMPTY_ROOT( & tree)则cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE)
3586  perf_event_sched_in(cpuctx, ctx, task)
3587  perf_pmu_enable(pmu)
3589  unlock :
3590  perf_ctx_unlock(cpuctx, ctx)
调用者
名称描述
__perf_event_task_sched_inCalled from scheduler to add the events of the current task* with interrupts disabled.* We restore the event value and then enable it.* This does not protect us against NMI, but enable()* sets the enabled bit in the control field of event _before_