diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-07 13:11:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-07 13:11:49 +0000 |
commit | f25552c1068a054f2d99afd67a671d5991bf19c1 (patch) | |
tree | d70de5c7262ad572f8323fc4184b8a10522e81ec /debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch | |
parent | Merging upstream version 6.9.7. (diff) | |
download | linux-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.patch | 98 |
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 |