Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:check_preemption_disabled

Proto:notrace static inline __attribute__((__always_inline__)) unsigned int check_preemption_disabled(const char *what1, const char *what2)

Type:unsigned int

Parameter:

TypeParameterName
const char *what1
const char *what2
14  this_cpu = These macros fold the SMP functionality into a single CPU system()
16  If Value is more likely to compile time(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.) Then Go to out
19  If Some architectures don't define arch_irqs_disabled(), so even if either* definition would be fine we need to use different ones for the time being* to avoid build issues.() Then Go to out
26  If nr_cpus_allowed == 1 Then Go to out
32  If Values used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE. < SYSTEM_SCHEDULING Then Go to out
38  preempt_disable_notrace()
40  If Not printk_ratelimit() Then Go to out_enable
43  printk(r conditions "BUG: using %s%s() in preemptible [%08x] code: %s/%d\n", what1, what2, 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. - 1, comm, pid)
46  printk("caller is %pS\n", __builtin_return_address(0))
47  dump_stack()
49  out_enable :
50  preempt_enable_no_resched_notrace()
51  out :
52  Return this_cpu
Caller
NameDescribe
debug_smp_processor_id
__this_cpu_preempt_check