rcu_barrier_throttled(9)
π rcu_barrier_throttled(9) π
ok so this is a page straight out of the Kernel API Manual, and it's about rcu_barrier_throttled β yes that's a whole mouthful, bestie, but stay with me, it slaps π«Ά
β¨ NAME β¨
rcu_barrier_throttled β does rcu_barrier(), but limits it to one per second β±οΈ
β¨ SYNOPSIS β¨
void rcu_barrier_throttled (void );
β¨ ARGUMENTS β¨
voidβ no arguments, literally none, it takes zero things, she works alone π
β¨ DESCRIPTION β¨
okay so think of this function as guard rails around rcu_barrier π‘οΈ β the kind that actually permits unrestricted userspace use, at least assuming the hardware's try_cmpxchg is robust. no cap, that's the vibe.
the way that it works: there will be at most one call per second to rcu_barrier system-wide from use of this function π. which means callers might needlessly wait a second or three π. yes, that's the trade-off, and we're living with it, periodt.
who's this for? it's intended for use by test suites to avoid OOM by flushing RCU callbacks from the previous test before starting the next π§ͺβ¨. see the rcutree.do_rcu_barrier module parameter for more info, iykyk.
and likeβ¦ why not simply make rcu_barrier more scalable? great question, bestie π. that might be the eventual endpoint, but let's keep it simple for the time being. also, note that the module parameter infrastructure serializes calls to a given .set function β but should concurrent .set invocation ever be possible, we are ready! π
π SEE ALSO π
- Kernel file
./kernel/rcu/tree.c rcu_softirq_qs(9)rcu_watching_snap_stopped_since(9)rcu_is_cpu_rrupt_from_idle(9)rcu_irq_exit_check_preempt(9)__rcu_irq_enter_check_tick(9)rcu_is_watching(9)rcu_set_gpwrap_lag(9)call_rcu_hurry(9)call_rcu(9)synchronize_rcu(9)get_completed_synchronize_rcu_full(9)get_state_synchronize_rcu(9)get_state_synchronize_rcu_full(9)start_poll_synchronize_rcu(9)start_poll_synchronize_rcu_full(9)poll_state_synchronize_rcu(9)poll_state_synchronize_rcu_full(9)cond_synchronize_rcu(9)cond_synchronize_rcu_full(9)rcu_barrier(9)
okay that's the whole page, go forth and throttle responsibly π¦
π and that's a wrap, bestie β brought to you by ./kernel/rcu, dated October 2026, page rcu_barrier_throttled(9). mwah πβ¨
π¦ 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