函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Select the nodes that the upcoming expedited grace period needs* to wait for.

函数原型:static void sync_rcu_exp_select_cpus(void)

返回类型:void

参数:

424  trace_rcu_exp_grace_period(Name of structure. , Return then value that expedited-grace-period counter will have* at the end of the current grace period., 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.("reset"))
425  Reset the ->expmask values in the rcu_node tree in preparation for* a new expedited grace period.
426  trace_rcu_exp_grace_period(Name of structure. , Return then value that expedited-grace-period counter will have* at the end of the current grace period., 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.("select"))
430  Need to flush workitem? = false
431  如果非READ_ONCE(CPUs or groups that need to check in )则继续下一循环
433  如果非READ_ONCE(rcu_par_gp_wq)或The rcu_scheduler_active variable is initialized to the value* RCU_SCHEDULER_INACTIVE and transitions RCU_SCHEDULER_INIT just before the* first task is spawned不等于RCU_SCHEDULER_RUNNINGIs this rcu_node the last leaf? (rnp)则
437  Select the CPUs within the specified rcu_node that the upcoming* expedited grace period needs to wait for.
438  继续下一循环
440  INIT_WORK( & rew_work, Select the CPUs within the specified rcu_node that the upcoming* expedited grace period needs to wait for.)
441  cpu等于在内存区域中找到下一个设置位
443  如果此条件成立可能性小(为编译器优化)(cpu > highest-numbered CPU or group here. - lowest-numbered CPU or group here. )则cpu等于WORK_CPU_UNBOUND
445  否则cpu加等于lowest-numbered CPU or group here.
447  queue_work_on - queue work on specific cpu*@cpu: CPU number to execute work on*@wq: workqueue to use*@work: work to queue* We queue the work to a specific CPU, the caller must ensure it* can't go away.
448  Need to flush workitem? = true
452  Scan the leaves of the rcu_node hierarchy for the rcu_state structure.* Note that if there is a singleton rcu_node tree with but one rcu_node* structure, this loop -will- visit the rcu_node structure. It is still(rnp)
453  如果Need to flush workitem? lush_work - wait for a work to finish executing the last queueing instance*@work: the work to flush* Wait until @work has finished execution
调用者
名称描述
rcu_exp_sel_wait_wakeCommon code to drive an expedited grace period forward, used by* workqueues and mid-boot-time tasks.