lkml.org 
[lkml]   [2024]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH REPOST v2] ARM64: Dynamically allocate cpumasks and increase supported CPUs to 512
    Can we get this merged for 6.9? The patch has been around for awhile now.



    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.

    Tested-by: Eric Mackay <eric.mackay@oracle.com>
    Signed-off-by: Christoph Lameter (Ampere) <cl@linux.com>

    ---

    Original post: https://www.spinics.net/lists/linux-mm/msg369701.html

    V1->V2

    - Keep quotation marks
    - Remove whiltespace damage
    - Add tested by


    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"
    _______________________________________________
    linux-arm-kernel mailing list
    linux-arm-kernel@lists.infradead.org
    http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
    \
     
     \ /
      Last update: 2024-05-27 14:51    [W:3.366 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site