Skip to content

experiment: 6.18 + HZ=1000 + voluntary preemption (ABX-498 A/B) - #15

Closed
AprilNEA wants to merge 3 commits into
masterfrom
experiment/preempt-voluntary-618
Closed

experiment: 6.18 + HZ=1000 + voluntary preemption (ABX-498 A/B)#15
AprilNEA wants to merge 3 commits into
masterfrom
experiment/preempt-voluntary-618

Conversation

@AprilNEA

Copy link
Copy Markdown
Member

CI-build-only experiment for arcbox ABX-498 — do not merge as-is. Reverts the lazy-preemption switch on top of the HZ=1000 branch to isolate the preemption model's cost: lazy/PREEMPT_RCU measures 2.3× slower same-core context switch and 74 ms veth del (rcu_barrier) vs 6.12-voluntary. If this build restores ~3.7 µs / ~0 ms on the same 6.18 base, the fix direction is voluntary (or PREEMPT_DYNAMIC defaulting to voluntary) + HZ=1000.

AprilNEA added 3 commits July 22, 2026 19:26
Container start is a chain of jiffy-rounded scheduler waits across the
containerd/shim/runc/dockerd IPC handshake; at HZ=100 each rounds up to
10 ms. Cross-engine bench (ABX-496) measured container churn ~5x slower
than a matched Colima guest (HZ=1000), which dominates multi-step docker
builds (each step is a container): simple cold 8.1s vs 0.6s, 12-stage
12.7s vs 1.5s. NO_HZ_IDLE keeps the tick off when idle, so the idle-CPU
target is unaffected — the cost is purely more timer interrupts under
active load, the right trade for a build/dev runtime chasing OrbStack
parity.
The HZ bump is a choice symbol; olddefconfig silently drops or rewrites
unsatisfiable choices, so guard it the same way the script already
guards the squashfs/netfilter symbols.
Experiment for arcbox ABX-498: lazy preemption (PREEMPT_BUILD +
PREEMPT_RCU) measures 2.3x slower same-core context switch (8.6 vs
3.7 us pipe ping-pong) and regresses veth del from ~0 ms to 74 ms
(rcu_barrier) vs the 6.12 voluntary build. Keeps HZ=1000.
@linear-code

linear-code Bot commented Jul 22, 2026

Copy link
Copy Markdown

ABX-498

@AprilNEA

Copy link
Copy Markdown
Member Author

Superseded by #16, which folds this voluntary-preemption change together with HZ=1000 (#14) and PSI-default-off into one release-ready PR. The A/B data this experiment produced is carried into #16's description.

@AprilNEA AprilNEA closed this Jul 24, 2026
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