synchronize_rcu_mult(9)
π synchronize_rcu_mult(9) β Kernel API Manual π
Ok bestie, welcome to the Kernel API Manual entry for synchronize_rcu_mult(9) β itβs giving βwait for multiple grace periods at onceβ and honestly? Iconic. β¨
πΈ NAME πΈ
synchronize_rcu_mult β Wait concurrently for multiple grace periods.
π¦ SYNOPSIS π¦
synchronize_rcu_mult (... );
π ARGUMENTS π
...β List ofcall_rcufunctions for different grace periods to wait on. Thatβs the whole vibe, fr fr.
π DESCRIPTION π
This macro waits concurrently for multiple types of RCU grace periods. Like, not one at a time β concurrently, bestie. π«Ά
For example, synchronize_rcu_mult(call_rcu, call_rcu_tasks) would wait on concurrent RCU and RCU-tasks grace periods. Slay. π₯
Waiting on a given SRCU domain requires you to write a wrapper function for that SRCU domainβs call_srcu function, with this wrapper supplying the pointer to the corresponding srcu_struct. So yes, you gotta bring your own little wrapper β itβs not gonna manifest the pointer out of thin air, no cap. π
Lowkey important note:call_rcu_hurryshould be used instead ofcall_rcubecause in kernels built withCONFIG_RCU_LAZY=ythe delay between the invocation ofcall_rcuand that of the corresponding RCU callback can be multiple seconds. Multiple. Seconds. π So use the hurry one, bestie.
The first argument tells Tiny RCUβs _wait_rcu_gp not to bother waiting for RCU. The reason for this is because anywhere synchronize_rcu_mult can be called is automatically already a full grace period. The way that works out is genuinely a little iconic. π
π SEE ALSO π
- Kernel file
./include/linux/rcupdate_wait.hβ go peek, iykyk. π¦
Sign-off time, bestie: this pageβs source/version footer lives under ./include/linux, dated October 2026. Periodt. π
ππ«Ά
π¦ 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