cond_synchr...pedited_full(9)
π cond_synchronize_rcu_expedited_full β Kernel API Manual β¨
okay bestie, buckle up, because this one is a whole RCU grace period situation and honestly it's giving "wait, but only if you have to" π
β¨ NAME β¨
cond_synchronize_rcu_expedited_full β conditionally wait for an expedited RCU grace period π¦
πΈ SYNOPSIS πΈ
void cond_synchronize_rcu_expedited_full(struct rcu_gp_seq *gsp);
literally that's it. no cap. π«Ά
π ARGUMENTS π
gspβ the state value you got fromget_state_synchronize_rcu_full,start_poll_synchronize_rcu_full, orstart_poll_synchronize_rcu_expedited_full. like, one of those three, bestie, don't just make one up π
π₯ DESCRIPTION π₯
so here's the vibe check π
If a full RCU grace period has already elapsed since that call to get_state_synchronize_rcu_full, start_poll_synchronize_rcu_full, or start_poll_synchronize_rcu_expedited_full β the very call that gave you gsp β then this function just... returns. nothing to see here, we're done, bye π
Otherwise? it invokes synchronize_rcu_expedited and actually waits for a full grace period. slay, but like, only when it has to. β
β οΈ not me forgetting counter wrap π β Yes, this function does not take counter wrap into account. But counter wrap is harmless. If the counter wraps, we have waited for more than 2 billion grace periods (and way more on a 64-bit system!), so waiting for a couple of additional grace periods should be just fine. like honestly, at that point, who's counting π
π¦ the memory-ordering situation π¦
This function provides the same memory-ordering guarantees that would be provided by a synchronize_rcu that was invoked at the call to the function that provided gsp and that returned at the end of this function. same energy, same guarantees, periodt β¨
π SEE ALSO π
- Kernel file
./kernel/rcu/tree_exp.hβ plus these iconic siblings: synchronize_rcu_expedited(9)start_poll_synchronize_rcu_expedited(9)start_poll_synchronize_rcu_expedited_full(9)cond_synchronize_rcu_expedited(9)
okay that's the whole page bestie, you ate that π β¨
source: ./kernel/rcu πΈ date: October 2026 π and yes the title is still cond_synchr...pedited_full(9) because some things never change ππ«Ά go forth and wait conditionally, queen π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms