From c3fc12a089fd3e7578f9ef9d0c3a8e4a1188cec9 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 3403e091..7b8c224e 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. # @@ -344,24 +338,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 28d86ffe..a4bb6fd4 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. # @@ -344,24 +338,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 f083a305..cbe3bddb 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. # @@ -345,24 +339,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 e930c5ce..d8ddcd46 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. # @@ -344,24 +338,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 b4724c5c..db5cbd7b 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. # @@ -339,24 +333,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 53e10168..5d073cae 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. # @@ -337,24 +331,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 5899998f..db34af0b 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. # @@ -384,24 +378,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 694ad122..ac745cce 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. # @@ -344,24 +338,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 d4bb3248..72e99dd8 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. # @@ -344,24 +338,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 8237e1fa..bf2281d3 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. # @@ -385,24 +379,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..."