Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-28 13:38:20
Last Modify:2022-05-20 07:50:19 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:perf_event_switch

Proto:static void perf_event_switch(struct task_struct *task, struct task_struct *next_prev, bool sched_in)

Type:void

Parameter:

TypeParameterName
struct task_struct *task
struct task_struct *next_prev
boolsched_in
8056  switch_event = (struct perf_switch_event){task = task, next_prev = next_prev, event_id = {header = {misc = sched_in ? 0 : PERF_RECORD_MISC_SWITCH_OUT, }, }, }
8070  If Not sched_in && run state == Used in tsk->state: Then misc |= PERF_RECORD_MISC_SWITCH_OUT_PREEMPT
8074  Iterate all events that need to receive side-band events.* For new callers; ensure that account_pmu_sb_event() includes* your event, otherwise it might not get delivered.
Caller
NameDescribe
__perf_event_task_sched_outCalled from scheduler to remove the events of the current task,* with interrupts disabled
__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_