lock_is_held(&rcu_lock_map) || lock_is_held(&rcu_sched_lock_map), "Illegal synchronize_sched() in RCU-sched read-side critical section"); if (rcu_blocking_is_gp()) return; if (rcu_gp_is_expedited()) synchronize_sched_expedited(); else wait_rcu_gp(call_rcu_sched); } ... 1....
"Illegal synchronize_sched() in RCU-sched read-side critical section");if(rcu_blocking_is_gp())return;if(rcu_gp_is_expedited())synchronize_sched_expedited();elsewait_rcu
lock_is_held(&rcu_sched_lock_map), "Illegal synchronize_rcu_expedited() in RCU read-side critical section"); /* Is the state is such that the call is a grace period? */ if (rcu_blocking_is_gp()) return; /* If expedited grace periods are prohibited, fall back to normal. *...
> tasks blocking the current grace period. This means that your > rcu_preempt_blocked_readers() function would never return > true in this case. >So the current code is fine. >Are you seeing failures on mainline kernels? If so, what is the failure >mode? Yes it's right, thank you ...
* rcu_gp_might_be_stalled - Is it likely that the grace period is stalled?* * Returns @true if the current grace period is sufficiently old that * it is reasonable to assume that it might be stalled. This can be * useful when deciding whether to allocate memory to enable RCU-med...
is no longer blocking the grace period. It is instead the preempted task doing the blocking. The list of blocked tasks is managed by rcu_preempt_ctxt_queue(), which is called from rcu_preempt_note_context_switch(), which in turn is called from rcu_note_context_switch(), which in ...
The call_rcu() API is a callback form of synchronize_rcu(), and is described in more detail in a later section. Instead of blocking, it registers a function and argument which are invoked after all ongoing RCU read-side critical sections have completed. This callback variant is particularly...
Protection Index = 1, DBDC = 0 [ 924.705220] br-lan: port 5(phy0-ap0) entered blocking state [ 924.714160] ieee80211 phy0: WM: ( 917.940308:71:BSS-E)BSSInfo 0 Active [ 924.714166] ieee80211 phy0: WM: ( 917.940369:72:BSS-E)ucDbdcIdx 0, ucOwnMacIdx 4, ucHetbRU26Disable 0 ...
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* ...
The number 310 following "root:" is a bitmask that indicates which children of the root 311 rcu_node structure correspond to CPUs and/or tasks that are blocking the 312 current expedited grace period. If the tree had more than one level, 313 additional hex numbers would be printed for the...