Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\tree_plugin.h Create Date:2022-07-28 10:28:57
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Note a PREEMPT=n context switch. The caller must have disabled interrupts.

Proto:void rcu_note_context_switch(bool preempt)

Type:void

Parameter:

TypeParameterName
boolpreempt
846  Tracepoint for start/end markers used for utilization calculations.* By convention, the string is of the following forms:* "Start " -- Mark the start of the specified activity,* such as "context switch". Nesting is permitted.
847  Note a quiescent state for PREEMPT=n. Because we do not need to know* how many quiescent states passed, just if there was at least one since* the start of the grace period, this just sets a flag. The caller must* have disabled preemption.
849  If Not smp_load_acquire(this_cpu_ptr( & rcu_urgent_qs)) Then Go to out
851  this_cpu_write(rcu_urgent_qs, false)
852  If Value for the false possibility is greater at compile time(Operations for contexts where we do not want to do any checks for* preemptions(rcu_need_heavy_qs)) Then Let the RCU core know that this CPU has gone through the scheduler,* which is a quiescent state
854  If Not preempt Then Note a quasi-voluntary context switch for RCU-tasks's benefit.* This is a macro rather than an inline function to avoid #include hell.(current process)
856  out :
857  Tracepoint for start/end markers used for utilization calculations.* By convention, the string is of the following forms:* "Start " -- Mark the start of the specified activity,* such as "context switch". Nesting is permitted.
Caller
NameDescribe
__schedule__schedule() is the main scheduler function.* The main means of driving the scheduler and thus entering this function are:* 1. Explicit blocking: mutex, semaphore, waitqueue, etc.* 2. TIF_NEED_RESCHED flag is checked on interrupt and userspace return