函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:synchronize_rcu_expedited - Brute-force RCU grace period* Wait for an RCU grace period, but expedite it

函数原型:void synchronize_rcu_expedited(void)

返回类型:void

参数:

793  boottime等于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_INIT
798  RCU_LOCKDEP_WARN(lock_is_held( & rcu_bh_lock_map) || lock_is_held( & rcu_lock_map) || lock_is_held( & rcu_sched_lock_map), "Illegal synchronize_rcu_expedited() in RCU read-side critical section")
804  如果During early boot, any blocking grace-period wait automatically* implies a grace period则返回
808  如果Should expedited grace-period primitives always fall back to their* non-expedited counterparts? Intended for use within RCU. Note* that if the user specifies both rcu_expedited and rcu_normal, then* rcu_normal wins
809  wait_rcu_gp(all_rcu() - Queue an RCU callback for invocation after a grace period)
810  返回
814  s等于Take a snapshot of the expedited-grace-period counter.
815  如果Funnel-lock acquisition for expedited grace periods则返回
819  如果此条件成立可能性小(为编译器优化)(boottime)则
821  Common code to drive an expedited grace period forward, used by* workqueues and mid-boot-time tasks.
822  否则
824  rew_s等于s
825  INIT_WORK_ONSTACK( & rew_work, Work-queue handler to drive an expedited grace period forward.)
826  queue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
830  rnp等于Return the root node of the rcu_state structure.
831  wait_event - sleep until a condition gets true*@wq_head: the waitqueue to wait on*@condition: a C expression for the event to wait for* The process is put to sleep (TASK_UNINTERRUPTIBLE) until the*@condition evaluates to true(exp_wq[Return the counter portion of a sequence number previously returned* by rcu_seq_snap() or rcu_seq_current(). & 0x3], Common code for work-done checking. )
833  smp_mb()
836  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.
838  如果此条件成立可能性大(为编译器优化)(!boottime)则destroy_work_on_stack( & rew_work)
调用者
名称描述
rcu_test_sync_primsTest each non-SRCU synchronous grace-period wait API. This is* useful just after a change in mode for these primitives, and* during early boot.
synchronize_rcusynchronize_rcu - wait until a grace period has elapsed
bdi_remove_from_listRemove bdi from bdi_list, and ensure that it is no longer visible
namespace_unlock