rcu_dereference_sched_check(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– rcu_dereference_sched_check(9) πŸ’–

okay bestie, this one is straight from the Kernel API Manual, and it is literally rcu_dereference_sched with debug checking. Buckle up, it’s giving β€œtiny page, important RCU lore.” πŸŽ€


✨ NAME ✨

rcu_dereference_sched_check β€” it’s rcu_dereference_sched with debug checking, periodt. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

rcu_dereference_sched_check (p , c );

🫢 ARGUMENTS 🫢

  • p β€” the pointer to read, prior to dereferencing. Like, look first, bestie, do not just dive in. πŸ‘€
  • c β€” the conditions under which the dereference will take place. It’s the vibe check for your dereference, iykyk. ✨

πŸ”₯ DESCRIPTION πŸ”₯

This is the RCU-sched counterpart to rcu_dereference_check. Big sibling energy fr fr. 🫢

However, please note that starting in v5.0 kernels, vanilla RCU grace periods wait for preempt_disable regions of code in addition to regions of code demarked by rcu_read_lock and rcu_read_unlock. The way that changes things: this means that synchronize_rcu, call_rcu, and friends all take not only rcu_read_lock but also rcu_read_lock_sched into account. No cap. πŸ’€πŸ”₯


🌈 SEE ALSO 🌈

Kernel file ./include/linux/rcupdate.h β€” and the whole β€œlinked list of friends” situation:


mwah πŸ’‹ that’s the whole page, bestie β€” cute little sign-off: source/version corner is ./include/linux, dated October 2026, and yes, the page is rcu_dereference_sched_check(9). πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from