summaryrefslogtreecommitdiffstats
path: root/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:11:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:11:49 +0000
commitf25552c1068a054f2d99afd67a671d5991bf19c1 (patch)
treed70de5c7262ad572f8323fc4184b8a10522e81ec /debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
parentMerging upstream version 6.9.7. (diff)
downloadlinux-f25552c1068a054f2d99afd67a671d5991bf19c1.tar.xz
linux-f25552c1068a054f2d99afd67a671d5991bf19c1.zip
Merging debian version 6.9.7-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch')
-rw-r--r--debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch98
1 files changed, 0 insertions, 98 deletions
diff --git a/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch b/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
deleted file mode 100644
index dd7c02e005..0000000000
--- a/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: "Christoph Lameter (Ampere)" <cl@gentwo.org>
-Date: Wed, 6 Mar 2024 17:45:04 -0800
-Subject: ARM64: Dynamically allocate cpumasks and increase supported CPUs to
- 512
-Forwarded: https://lore.kernel.org/lkml/37099a57-b655-3b3a-56d0-5f7fbd49d7db@gentwo.org/
-Applied-Upstream: 3fbd56f0e7c14e7c7a7597fd4a368753fe70d76f
-
- [ a.k.a. Revert "Revert "ARM64: Dynamically allocate cpumasks and
- increase supported CPUs to 512""; originally reverted because of a
- bug in the cpufreq-dt code not using zalloc_cpumask_var() ]
-
-Currently defconfig selects NR_CPUS=256, but some vendors (e.g. Ampere
-Computing) are planning to ship systems with 512 CPUs. So that all CPUs on
-these systems can be used with defconfig, we'd like to bump NR_CPUS to 512.
-Therefore this patch increases the default NR_CPUS from 256 to 512.
-
-As increasing NR_CPUS will increase the size of cpumasks, there's a fear that
-this might have a significant impact on stack usage due to code which places
-cpumasks on the stack. To mitigate that concern, we can select
-CPUMASK_OFFSTACK. As that doesn't seem to be a problem today with
-NR_CPUS=256, we only select this when NR_CPUS > 256.
-
-CPUMASK_OFFSTACK configures the cpumasks in the kernel to be
-dynamically allocated. This was used in the X86 architecture in the
-past to enable support for larger CPU configurations up to 8k cpus.
-
-With that is becomes possible to dynamically size the allocation of
-the cpu bitmaps depending on the quantity of processors detected on
-bootup. Memory used for cpumasks will increase if the kernel is
-run on a machine with more cores.
-
-Further increases may be needed if ARM processor vendors start
-supporting more processors. Given the current inflationary trends
-in core counts from multiple processor manufacturers this may occur.
-
-There are minor regressions for hackbench. The kernel data size
-for 512 cpus is smaller with offstack than with onstack.
-
-Benchmark results using hackbench average over 10 runs of
-
- hackbench -s 512 -l 2000 -g 15 -f 25 -P
-
-on Altra 80 Core
-
-Support for 256 CPUs on stack. Baseline
-
- 7.8564 sec
-
-Support for 512 CUs on stack.
-
- 7.8713 sec + 0.18%
-
-512 CPUS offstack
-
- 7.8916 sec + 0.44%
-
-Kernel size comparison:
-
- text data filename Difference to onstack256 baseline
-25755648 9589248 vmlinuz-6.8.0-rc4-onstack256
-25755648 9607680 vmlinuz-6.8.0-rc4-onstack512 +0.19%
-25755648 9603584 vmlinuz-6.8.0-rc4-offstack512 +0.14%
-
-Tested-by: Eric Mackay <eric.mackay@oracle.com>
-Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-Signed-off-by: Christoph Lameter (Ampere) <cl@linux.com>
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Link: https://lore.kernel.org/r/37099a57-b655-3b3a-56d0-5f7fbd49d7db@gentwo.org
-Link: https://lore.kernel.org/r/20240314125457.186678-1-m.szyprowski@samsung.com
-[catalin.marinas@arm.com: use 'select' instead of duplicating 'config CPUMASK_OFFSTACK']
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
----
- arch/arm64/Kconfig | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 4869265ace2ddd..a03de40bd4cd7c 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -120,6 +120,7 @@ config ARM64
- select CLONE_BACKWARDS
- select COMMON_CLK
- select CPU_PM if (SUSPEND || CPU_IDLE)
-+ select CPUMASK_OFFSTACK if NR_CPUS > 256
- select CRC32
- select DCACHE_WORD_ACCESS
- select DYNAMIC_FTRACE if FUNCTION_TRACER
-@@ -1430,7 +1431,7 @@ config SCHED_SMT
- config NR_CPUS
- int "Maximum number of CPUs (2-4096)"
- range 2 4096
-- default "256"
-+ default "512"
-
- config HOTPLUG_CPU
- bool "Support for hot-pluggable CPUs"
---
-cgit 1.2.3-korg