From 5588a00836afc5c496a438ba95d3ba0c531dace2 Mon Sep 17 00:00:00 2001 From: Vasiliy Stelmachenok Date: Tue, 28 Jan 2025 17:20:22 +0300 Subject: [PATCH] Remove option to disable NUMA The first reports of positive impact of disabling NUMA for desktop systems date back to 2012 [1], and even then they were extremely minor and at margin of error level of ~300ms at kernel compilation. Now more than 10 years have passed, there have been many NUMA-related changes in kernel over the years and it probably makes no sense to say that disabling NUMA provides any benefits. I haven't found any relevant performance comparisons with NUMA disabled, if someone provides them and shows evidence that it may still be necessary - I'm happy to revert this change. I should also note that some schedulers like PDS and BMQ forcibly disable NUMA because they do not have a proper implementation of its support. [1] - https://bugs.archlinux.org/task/31187 Signed-off-by: Vasiliy Stelmachenok --- linux-cachyos-bmq/PKGBUILD | 24 ------------------------ linux-cachyos-bore/PKGBUILD | 24 ------------------------ linux-cachyos-deckify/PKGBUILD | 24 ------------------------ linux-cachyos-eevdf/PKGBUILD | 24 ------------------------ linux-cachyos-hardened/PKGBUILD | 24 ------------------------ linux-cachyos-lts/PKGBUILD | 24 ------------------------ linux-cachyos-rc/PKGBUILD | 24 ------------------------ linux-cachyos-rt-bore/PKGBUILD | 24 ------------------------ linux-cachyos-server/PKGBUILD | 24 ------------------------ linux-cachyos/PKGBUILD | 24 ------------------------ 10 files changed, 240 deletions(-) diff --git a/linux-cachyos-bmq/PKGBUILD b/linux-cachyos-bmq/PKGBUILD index 46b2748f..663a8f2c 100644 --- a/linux-cachyos-bmq/PKGBUILD +++ b/linux-cachyos-bmq/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -333,24 +327,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-bore/PKGBUILD b/linux-cachyos-bore/PKGBUILD index 650de7d3..c62353a8 100644 --- a/linux-cachyos-bore/PKGBUILD +++ b/linux-cachyos-bore/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -333,24 +327,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-deckify/PKGBUILD b/linux-cachyos-deckify/PKGBUILD index 1d7a1ba1..e9cd781f 100644 --- a/linux-cachyos-deckify/PKGBUILD +++ b/linux-cachyos-deckify/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -334,24 +328,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-eevdf/PKGBUILD b/linux-cachyos-eevdf/PKGBUILD index ceaef0f2..ded2d37a 100644 --- a/linux-cachyos-eevdf/PKGBUILD +++ b/linux-cachyos-eevdf/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -333,24 +327,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-hardened/PKGBUILD b/linux-cachyos-hardened/PKGBUILD index f96363c5..03fcfc1e 100644 --- a/linux-cachyos-hardened/PKGBUILD +++ b/linux-cachyos-hardened/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -336,24 +330,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-lts/PKGBUILD b/linux-cachyos-lts/PKGBUILD index fbc65471..0c0a57df 100644 --- a/linux-cachyos-lts/PKGBUILD +++ b/linux-cachyos-lts/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -334,24 +328,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-rc/PKGBUILD b/linux-cachyos-rc/PKGBUILD index 277920f4..f55b85e6 100644 --- a/linux-cachyos-rc/PKGBUILD +++ b/linux-cachyos-rc/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -375,24 +369,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-rt-bore/PKGBUILD b/linux-cachyos-rt-bore/PKGBUILD index cc5bac9a..9396e6cf 100644 --- a/linux-cachyos-rt-bore/PKGBUILD +++ b/linux-cachyos-rt-bore/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -333,24 +327,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos-server/PKGBUILD b/linux-cachyos-server/PKGBUILD index d98629b5..0c682267 100644 --- a/linux-cachyos-server/PKGBUILD +++ b/linux-cachyos-server/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -333,24 +327,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..." diff --git a/linux-cachyos/PKGBUILD b/linux-cachyos/PKGBUILD index f7a357a4..67dc7724 100644 --- a/linux-cachyos/PKGBUILD +++ b/linux-cachyos/PKGBUILD @@ -28,12 +28,6 @@ ### Tweak kernel options prior to a build via xconfig : "${_makexconfig:=no}" -# NUMA is optimized for multi-socket motherboards. -# A single multi-core CPU actually runs slower with NUMA enabled. -# See, https://bugs.archlinux.org/task/31187 -# It seems that in 2023 this is not really a huge regression anymore -: "${_NUMAdisable:=no}" - # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # @@ -374,24 +368,6 @@ prepare() { echo "Setting tick rate to ${_HZ_ticks}Hz..." - ### Disable NUMA - if [ "$_NUMAdisable" = "yes" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config -d NUMA \ - -d AMD_NUMA \ - -d X86_64_ACPI_NUMA \ - -d NODES_SPAN_OTHER_NODES \ - -d NUMA_EMU \ - -d USE_PERCPU_NUMA_NODE_ID \ - -d ACPI_NUMA \ - -d ARCH_SUPPORTS_NUMA_BALANCING \ - -d NODES_SHIFT \ - -u NODES_SHIFT \ - -d NEED_MULTIPLE_NODES \ - -d NUMA_BALANCING \ - -d NUMA_BALANCING_DEFAULT_ENABLED - fi - ### Select performance governor if [ "$_per_gov" = "yes" ]; then echo "Setting performance governor..."