From 28192fba5d9893bfd52fc7f1c182e28bd0b8f38e Mon Sep 17 00:00:00 2001 From: Simon Veith Date: Thu, 17 Sep 2026 14:12:14 +0200 Subject: [PATCH] fix(config): Use CONFIG_HZ=1000 consistently The default value for the Linux `CONFIG_HZ` setting is 1000. We have been using this value for the Edera host kernels, but it is currently set to `CONFIG_HZ=100` for zone kernels. When compared with running on bare-metal or with LXC as the container engine, this lower rate of ticks was found to be causing performance impact in a benchmark that issues a high rate of `docker run` invocations (modelling a prospect's workload). The more vCPUs that are added to an Edera zone, the worse the benchmark performs, with almost 4x the runtime (at 96 vCPUs) compared to bare metal or LXC. The likely culprit is contention around a global process ID lock in `copy_process()` and `do_exit()`. Using `CONFIG_HZ=1000`, matching both the Linux kernel defaults as well as e.g. the Ubuntu kernel configuration, completely resolves the performance impact. Apply this value uniformly across host and zone kernels across all architectures. Part-of: https://linear.app/edera/issue/PRT-477/customer-zero-performance-gap-observed-in-edera-vs-lxc-when-testing Signed-off-by: Simon Veith --- configs/aarch64/zone.config | 3 ++- configs/x86_64/host.config | 1 + configs/x86_64/zone.config | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/configs/aarch64/zone.config b/configs/aarch64/zone.config index 1ec0e546..cd11dee0 100644 --- a/configs/aarch64/zone.config +++ b/configs/aarch64/zone.config @@ -157,7 +157,8 @@ CONFIG_SCHED_SMT=y CONFIG_NR_CPUS=4096 CONFIG_HOTPLUG_CPU=y CONFIG_NODES_SHIFT=2 -CONFIG_HZ_100=y +CONFIG_HZ_1000=y +CONFIG_HZ=1000 CONFIG_PARAVIRT=y # diff --git a/configs/x86_64/host.config b/configs/x86_64/host.config index cf84fa48..8b2ee388 100644 --- a/configs/x86_64/host.config +++ b/configs/x86_64/host.config @@ -277,6 +277,7 @@ CONFIG_EFI_STUB=y CONFIG_EFI_HANDOVER_PROTOCOL=y CONFIG_EFI_MIXED=y CONFIG_EFI_RUNTIME_MAP=y +CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_SCHED_HRTICK=y CONFIG_PHYSICAL_START=0x1000000 diff --git a/configs/x86_64/zone.config b/configs/x86_64/zone.config index 8c69d9bb..cdf22935 100644 --- a/configs/x86_64/zone.config +++ b/configs/x86_64/zone.config @@ -183,7 +183,8 @@ CONFIG_EFI_STUB=y CONFIG_EFI_HANDOVER_PROTOCOL=y CONFIG_EFI_MIXED=y CONFIG_EFI_RUNTIME_MAP=y -CONFIG_HZ_100=y +CONFIG_HZ_1000=y +CONFIG_HZ=1000 CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y