Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_sched_wakeup.c Create Date:2022-07-28 12:09:54
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Prologue for the wakeup function tracers

Proto:static int func_prolog_preempt_disable(struct trace_array *tr, struct trace_array_cpu **data, int *pc)

Type:int

Parameter:

TypeParameterName
struct trace_array *tr
struct trace_array_cpu **data
int *pc
75  If Value is more likely to compile time(!wakeup_task) Then Return 0
78  pc = We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt.
79  preempt_disable_notrace()
81  cpu = These macros fold the SMP functionality into a single CPU system()
82  If cpu != wakeup_current_cpu Then Go to out_enable
85  data = per_cpu_ptr(data, cpu)
86  disabled = atomic_inc_return( & disabled)
87  If Value for the false possibility is greater at compile time(disabled != 1) Then Go to out
90  Return 1
92  out :
93  atomic_dec( & disabled)
95  out_enable :
96  preempt_enable_notrace()
97  Return 0
Caller
NameDescribe
wakeup_tracer_callwakeup uses its own tracer function to keep the overhead down: