rcu_dereference_all(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ rcu_dereference_all(9) ✨

okay bestie, welcome to the Kernel API Manual πŸ’… this one is short but it's lowkey iconic in its own little way. It's rcu_dereference_all β€” the all-protected pointer-fetching girlie. Let's get into it πŸŽ€


🌸 NAME 🌸

rcu_dereference_all β€” fetch an RCU-all-protected pointer for dereferencing πŸ¦‹


⭐ SYNOPSIS ⭐

rcu_dereference_all (p );

no cap, that's the whole vibe ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • p β€” the pointer you're reading, right before you dereference it. that's her whole job 🫢

πŸ’– DESCRIPTION πŸ’–

So basically: rcu_dereference_all makes rcu_dereference_check do the dirty work. that's it. that's the tea β˜• the actual heavy lifting is somebody else's problem, and honestly? we love a delegation moment πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/rcupdate.h β€” and then the whole squad, fr fr: same_state_synchronize_rcu(9), cond_resched_tasks_rcu_qs(9), rcu_softirq_qs_periodic(9), RCU_LOCKDEP_WARN(9), lockdep_assert_in_rcu_read_lock(9), lockdep_assert_in_rcu_read_lock_bh(9), lockdep_assert_in_rcu_read_lock_sched(9), lockdep_assert_in_rcu_reader(9), unrcu_pointer(9), RCU_INITIALIZER(9), rcu_assign_pointer(9), rcu_replace_pointer(9), rcu_access_pointer(9), rcu_dereference_check(9), rcu_dereference_bh_check(9), rcu_dereference_sched_check(9), rcu_dereference_all_check(9), rcu_dereference_protected(9), rcu_dereference(9), rcu_dereference_bh(9), rcu_dereference_sched(9), rcu_pointer_handoff(9), rcu_read_lock(9), rcu_read_unlock(9), rcu_read_lock_bh(9), rcu_read_unlock_bh(9), rcu_read_lock_sched(9), rcu_read_unlock_sched(9), RCU_INIT_POINTER(9), RCU_POINTER_INITIALIZER(9), kfree_rcu(9), kfree_rcu_mightsleep(9), kfree_rcu_nolock(9), rcu_head_init(9), rcu_head_after_call_rcu(9) β€” go read them, iykyk πŸ“šπŸ’œ


and that's the page, bestie 🧚 source: ./include/linux, dated October 2026, from the Kernel API Manual, page rcu_dereference_all(9). slay and goodbye πŸ’–βœ¨

πŸ“¦ where this page comes from