lockdep_asse...n_rcu_reader(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lockdep_asse...n_rcu_reader β€” Kernel API Manual ✨

okay so bestie, welcome to the lockdep_asse...n_rcu_reader(9) page, she's a tiny little kernel-API icon and honestly? kind of a vibe. Let's get into it 🫢


🌸 NAME 🌸

lockdep_assert_in_rcu_reader β€” literally just WARNs at you if you're not inside some type of RCU reader 😭

πŸ¦‹ SYNOPSIS πŸ¦‹

lockdep_assert_in_rcu_reader

that's it. that's the whole call. no args, no drama, she's a macro and she knows it πŸ’…

πŸŽ€ DESCRIPTION πŸŽ€

So here's the tea πŸ“ β€” she splats if lockdep is enabled and there is no RCU reader of any type in effect. Like, zero. none. not even one. and she will make it known.

and like, don't be fooled into thinking "RCU reader" only means the obvious ones, because regions of code protected by things like preempt_disable, local_bh_disable, and local_irq_disable all qualify as RCU readers ✨ so if you're chilling in one of those, you're covered, you're valid, you're slaying πŸ’–

⚠️ also important, ngl: this will never trigger in PREEMPT_NONE or PREEMPT_VOLUNTARY kernels that are not also built with PREEMPT_COUNT. so she's lowkey asleep in those configs πŸ™ˆ but like β€” if you already have lockdep enabled, you might as well also enable PREEMPT_COUNT. fr fr, just do it, it costs you nothing and gets you the whole check πŸ‘‘

πŸ‘‘ SEE ALSO πŸ‘‘

the whole girl squad lives in the kernel file ./include/linux/rcupdate.h and honestly this list is long, so buckle up bestie 🌈:


and that's the page babes πŸ’œ she lives in ./include/linux, she's stamped October 2026, and she answers to the name lockdep_asse...n_rcu_reader(9). go be an RCU reader, ily, mwah πŸ§šπŸŽ€

πŸ“¦ where this page comes from