Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions configs/arcbox-arm64.config
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,16 @@ CONFIG_NR_CPUS=256
# first byte). Also forward-compatible — 7.0 removes voluntary for
# lazy-capable arches, and arm64/x86 both select ARCH_HAS_PREEMPT_LAZY.
CONFIG_PREEMPT_LAZY=y
CONFIG_HZ_100=y
CONFIG_HZ=100
# HZ=1000 (1 ms tick) not 100 (10 ms): container start is a chain of
# jiffy-rounded scheduler waits (containerd poll, shim handshake
# completions, runc, dockerd↔containerd gRPC backoff). At HZ=100 each
# rounds up to 10 ms, making container churn ~5x slower than Colima's
# HZ=1000 guest — the dominant cost in multi-step `docker build` (each
# step is a container). NO_HZ_IDLE keeps the idle-CPU target intact
# (tickless when idle), so this is latency-only cost under active load.
# See ABX-496.
CONFIG_HZ_1000=y
CONFIG_HZ=1000
Comment thread
greptile-apps[bot] marked this conversation as resolved.

# Virtualization guest support
CONFIG_PARAVIRT=y
Expand Down
12 changes: 10 additions & 2 deletions configs/arcbox-x86_64.config
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,16 @@ CONFIG_NR_CPUS=256
# first byte). Also forward-compatible — 7.0 removes voluntary for
# lazy-capable arches, and arm64/x86 both select ARCH_HAS_PREEMPT_LAZY.
CONFIG_PREEMPT_LAZY=y
CONFIG_HZ_100=y
CONFIG_HZ=100
# HZ=1000 (1 ms tick) not 100 (10 ms): container start is a chain of
# jiffy-rounded scheduler waits (containerd poll, shim handshake
# completions, runc, dockerd↔containerd gRPC backoff). At HZ=100 each
# rounds up to 10 ms, making container churn ~5x slower than Colima's
# HZ=1000 guest — the dominant cost in multi-step `docker build` (each
# step is a container). NO_HZ_IDLE keeps the idle-CPU target intact
# (tickless when idle), so this is latency-only cost under active load.
# See ABX-496.
CONFIG_HZ_1000=y
CONFIG_HZ=1000

# Virtualization guest support
CONFIG_HYPERVISOR_GUEST=y
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-kernel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ do_build() {
# dependency gate in the fragment otherwise degrades silently — 6.18 did
# exactly that to the legacy iptables stack via NETFILTER_XTABLES_LEGACY).
for sym in CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU CONFIG_IP_NF_NAT \
CONFIG_IP6_NF_NAT; do
CONFIG_IP6_NF_NAT CONFIG_HZ_1000; do
grep -q "^$sym=y" .config || {
echo "ERROR: $sym missing after olddefconfig" >&2
exit 1
Expand Down Expand Up @@ -132,7 +132,7 @@ cd linux-$KERNEL_VERSION
sh /workspace/scripts/inject-drivers.sh /workspace
cp /workspace/configs/arcbox-$TARGET_ARCH.config .config
make ARCH=$TARGET_ARCH olddefconfig
for sym in CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU CONFIG_IP_NF_NAT CONFIG_IP6_NF_NAT; do
for sym in CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU CONFIG_IP_NF_NAT CONFIG_IP6_NF_NAT CONFIG_HZ_1000; do
grep -q \"^\$sym=y\" .config || {
echo \"ERROR: \$sym missing after olddefconfig\" >&2
exit 1
Expand Down
Loading