init_srcu_struct_generic(9)
π init_srcu_struct_generic(9) β from the Kernel API Manual, bestie
okay so picture this: you're deep in the kernel, it's giving Kernel API Manual energy, and you need a sleep-RCU struct that's not static. Yeah. This is the page for you. π«Ά
β¨ NAME β¨
init_srcu_struct_generic β initialize a sleep-RCU structure πΈ
β¨ SYNOPSIS β¨
int init_srcu_struct_generic (struct srcu_struct *ssp );
β¨ ARGUMENTS β¨
sspβ the structure to initialize. that's her. that's the one you're setting up π
β¨ DESCRIPTION β¨
So here's the tea π: use this in place of DEFINE_SRCU and DEFINE_STATIC_SRCU for non-static srcu_struct structures β the ones that are gonna get passed to srcu_read_lock, srcu_read_lock_nmisafe, and friends. iykyk.
And like, it is necessary to invoke this on a given srcu_struct before passing that srcu_struct to any other function. no cap. not optional. do it first, bestie, or the vibe check fails π
Each srcu_struct represents a separate domain of SRCU protection β¨ β so every one of them is living its own main character life, fully independent. π
β¨ SEE ALSO β¨
- Kernel file
./kernel/rcu/srcutree.cβ that's where she lives π§ init_srcu_struct_fast(9)init_srcu_struct_fast_updown(9)cleanup_srcu_struct(9)call_srcu(9)synchronize_srcu_expedited(9)synchronize_srcu(9)get_state_synchronize_srcu(9)start_poll_synchronize_srcu(9)poll_state_synchronize_srcu(9)srcu_barrier(9)srcu_expedite_current(9)srcu_batches_completed(9)
and that's the whole page, periodt π
this little icon came out of ./kernel/rcu, dated October 2026, and it's filed under init_srcu_struct_generic(9) β go slay your SRCU setup, bestie β¨ππ¦
π¦ 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