函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\tree_exp.h Create Date:2022-07-27 11:28:39
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Wait for the current expedited grace period to complete, and then* wake up everyone who piggybacked on the just-completed expedited* grace period. Also update all the ->exp_seq_rq counters as needed* in order to avoid counter-wrap problems.

函数原型:static void rcu_exp_wait_wake(unsigned long s)

返回类型:void

参数:

类型参数名称
unsigned longs
542  synchronize_sched_expedited_wait()
547  mutex_lock( & Serialize wakeup. )
548  Record the end of an expedited grace period.
549  trace_rcu_exp_grace_period(Name of structure. , s, Strings used in tracepoints need to be exported via the* tracing system such that tools like perf and trace-cmd can* translate the string address pointers to actual text.("end"))
551  rcu_for_each_node_breadth_first(rnp)
552  如果ULONG_CMP_LT(READ_ONCE(exp_seq_rq), s)则
553  加自旋锁
555  如果ULONG_CMP_LT(exp_seq_rq, s)则exp_seq_rq等于s
559  smp_mb()
560  wake_up_all( & exp_wq[Return the counter portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current(). & 0x3])
562  trace_rcu_exp_grace_period(Name of structure. , s, Strings used in tracepoints need to be exported via the* tracing system such that tools like perf and trace-cmd can* translate the string address pointers to actual text.("endwake"))
563  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
调用者
名称描述
rcu_exp_sel_wait_wakeCommon code to drive an expedited grace period forward, used by* workqueues and mid-boot-time tasks.