Skip to content

Commit

Permalink
Remove option to disable NUMA
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
ventureoo authored and ptr1337 committed Feb 8, 2025
1 parent f0dca2c commit 5588a00
Show file tree
Hide file tree
Showing 10 changed files with 0 additions and 240 deletions.
24 changes: 0 additions & 24 deletions linux-cachyos-bmq/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-bore/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-deckify/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-eevdf/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-hardened/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-lts/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-rc/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-rt-bore/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos-server/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down
24 changes: 0 additions & 24 deletions linux-cachyos/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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..."
Expand Down

0 comments on commit 5588a00

Please sign in to comment.