srcu_read_unlock_nmisafe(9)
π srcu_read_unlock_nmisafe β bestie's guide to leaving the SRCU party (NMI edition) π
okay so this is srcu_read_unlock_nmisafe(9), from the Kernel API Manual (section 9, kernel devs only, sorry babe), and it's literally the "ok I'm done, let me out" move for SRCU readers. β¨
β¨ NAME β¨
srcu_read_unlock_nmisafe β unregister a old reader from an SRCU-protected structure.
(and yes, the original says "a old reader" β I'm not fixing it, that's the canon, we respect the lore π«Ά)
πΈ SYNOPSIS πΈ
void srcu_read_unlock_nmisafe (struct srcu_struct *ssp , int idx );
like, that's the whole vibe check right there. returns void, takes two things, done. π
π¦ ARGUMENTS π¦
sspβ thesrcu_structin which to unregister the old reader. this is the guest list you're removing your name from, bestie ποΈidxβ the return value from the correspondingsrcu_read_lock_nmisafe. you gotta hand back the exact little token they gave you when you walked in β no swapping, no losing it, that's the whole point π
π DESCRIPTION π
Exit an SRCU read-side critical section, but in an NMI-safe manner. π₯
that's it, that's the tea. you're leaving the read-side critical section, and you're doing it the NMI-safe way, which is the whole entire reason this function exists separately from the normie srcu_read_unlock(9). main character energy, non-maskable-interrupt-proof edition π no cap.
β SEE ALSO β
- the kernel file
./include/linux/srcu.hβ that's where the source lives, go read it iykyk π get_completed_synchronize_srcu(9)same_state_synchronize_srcu(9)srcu_read_lock_held(9)srcu_dereference_check(9)srcu_dereference(9)srcu_dereference_notrace(9)srcu_read_lock(9)srcu_read_lock_fast(9)srcu_read_lock_fast_updown(9)srcu_down_read_fast(9)srcu_read_lock_nmisafe(9)srcu_down_read(9)srcu_read_unlock(9)srcu_read_unlock_fast(9)srcu_read_unlock_fast_updown(9)srcu_up_read_fast(9)srcu_up_read(9)smp_mb__after_srcu_read_unlock(9)smp_mb__after_srcu_read_lock(9)
like, the whole SRCU friend group is in here β go say hi to all of them, they're all icons π§π
that's a wrap, bestie! π this page came straight out of the ./include/linux corner of the kernel, dated October 2026, and it's filed under Kernel API Manual section 9. slay, stay NMI-safe, and always return your idx ππβ¨
π¦ 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