third_party/linux: increase maximum CPUs to 512
Server CPUs with more than 64 cores are very common, so we need to bump
this. Linux technically supports up to 8192 cores (x86_64) or 4096 cores
(arm64), but only with offstack CPU masks. These have some known
functional and performance issues and thus should only be enabled when
needed. For arbitrary reasons [1] this limit is 256 on ARM64 and 512 on
x86_64. Since we need a 512 limit on all architectures this places us in
the unfortunate situation of needing to enable offstack for ARM64 but
not for x86_64. This aligns with other distros like Google's COS and
Clear Linux, but is unfortunate. We do not increase the ARM64 limit
further as despite offstack being selected, some drivers (like mlx5) do
still keep these structures on the stack [2].
[1] https://lore.kernel.org/linux-arm-kernel/ZfiFMr8s68cf2uac@arm.com/T/#t
[2] https://lore.kernel.org/all/20250620111010.3364606-1-arnd@kernel.org/
Change-Id: I78a8b3b886ddb15f8bdd919c3806a3416e5cf943
Reviewed-on: https://review.monogon.dev/c/monogon/+/4396
Reviewed-by: Jan Schär <jan@monogon.tech>
Tested-by: Jenkins CI
diff --git a/third_party/linux/kconfig-x86_64 b/third_party/linux/kconfig-x86_64
index 6452083..7901b68 100644
--- a/third_party/linux/kconfig-x86_64
+++ b/third_party/linux/kconfig-x86_64
@@ -47,6 +47,7 @@
CONFIG_XEN_PVH=y
# CONFIG_XEN_DOM0 is not set
CONFIG_MCORE2=y
+CONFIG_NR_CPUS=512
CONFIG_PERF_EVENTS_AMD_BRS=y
# CONFIG_X86_IOPL_IOPERM is not set
# CONFIG_X86_5LEVEL is not set