Skip to content

feat(kernel): batch RCU callbacks with RCU_LAZY - #655

Open
ouroboros420 wants to merge 1 commit into
armada-os:mainfrom
ouroboros420:rcu-lazy
Open

ouroboros420 wants to merge 1 commit into
armada-os:mainfrom
ouroboros420:rcu-lazy

Conversation

@ouroboros420

Copy link
Copy Markdown

Enables RCU_NOCB_CPU on all CPUs and RCU_LAZY, so call_rcu() callbacks are batched for up to 10 s instead of waking idle CPUs. Android's GKI builds the same options in (lazy off by default) and ChromeOS runs it on. rcutree.enable_rcu_lazy=0 turns it off at boot.

Needs testing.

Without it every call_rcu() soon starts a grace period, waking idle CPUs
for kernel housekeeping. RCU_LAZY offloads callbacks to rcuo kthreads
and batches them for up to 10 s, flushing early under memory pressure or
when many queue up. Android's GKI builds the same options in (lazy off
by default) and ChromeOS runs it on. rcutree.enable_rcu_lazy=0 turns it
off at boot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant