lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <794a1211-630b-3ee5-55a3-c06f10df1490@linux.com>
Date: Thu, 14 Dec 2023 16:05:56 -0800 (PST)
From: "Christoph Lameter (Ampere)" <cl@...ux.com>
To: Anshuman Khandual <anshuman.khandual@....com>
cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org, 
    linux-mm@...ck.org, Valentin.Schneider@....com, 
    Vanshidhar Konda <vanshikonda@...amperecomputing.com>, 
    Jonathan Cameron <Jonathan.Cameron@...wei.com>, 
    Catalin Marinas <catalin.marinas@....com>, 
    Robin Murphy <robin.murphy@....com>, 
    Dave Kleikamp <dave.kleikamp@...cle.com>, 
    Matteo Carlini <Matteo.Carlini@....com>, akpm@...ux-foundation.org, 
    yang@...amperecomputing.com
Subject: [PATCH] ARM64: Dynamically allocate cpumasks and increase supported
 CPUs to 512

Ampere Computing develops high end ARM processor that support an ever
increasing number of processors. The default 256 processors are
not enough for our newer products. The default is used by
distros and therefore our customers cannot use distro kernels because
the number of processors is not supported.

One of the objections against earlier patches to increase the limit
was that the memory use becomes too high. There is a feature called
CPUMASK_OFFSTACK that 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.

This patch enables that logic if more than 256 processors
are configured and increases the default to 512 processors.

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.

Signed-off-by: Christoph Lameter (Ampere) <cl@...ux.com>

---

This was discussed earlier and this updated patch was proposed at 
https://lore.kernel.org/linux-arm-kernel/6a854175-5f89-c754-17b8-deda18447f1f@gentwo.org/T/


Index: linux/arch/arm64/Kconfig
===================================================================
--- linux.orig/arch/arm64/Kconfig
+++ linux/arch/arm64/Kconfig
@@ -1407,7 +1407,21 @@ config SCHED_SMT
   config NR_CPUS
   	int "Maximum number of CPUs (2-4096)"
   	range 2 4096
-	default "256"
+	default 512
+
+#
+# Determines the placement of cpumasks.
+#
+# With CPUMASK_OFFSTACK the cpumasks are dynamically allocated.
+# Useful for machines with lots of core because it avoids increasing
+# the size of many of the data structures in the kernel.
+#
+# If this is off then the cpumasks have a static sizes and are
+# embedded within data structures.
+#
+config CPUMASK_OFFSTACK
+	def_bool y
+	depends on NR_CPUS > 256

   config HOTPLUG_CPU
   	bool "Support for hot-pluggable CPUs"



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ