summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.kasan
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-03-16 22:20:58 +0000
committerThomas Gleixner <tglx@linutronix.de>2023-03-21 13:35:53 +0100
commitcefad862f23874174136a48d91cb4a6ac3b1c5ce (patch)
treefbfa011f0d726c9f426b9a078c508092a3314cdd /scripts/Makefile.kasan
parente8d018dd0257f744ca50a729e3d042cf2ec9da65 (diff)
downloadlinux-stable-cefad862f23874174136a48d91cb4a6ac3b1c5ce.tar.gz
linux-stable-cefad862f23874174136a48d91cb4a6ac3b1c5ce.tar.bz2
linux-stable-cefad862f23874174136a48d91cb4a6ac3b1c5ce.zip
x86/apic/x2apic: Allow CPU cluster_mask to be populated in parallel
Each of the sibling CPUs in a cluster uses the same clustermask. The first CPU in a cluster will need a new clustermask allocated, while subsequent siblings will use the same clustermask as the first. However, the CPU being brought up cannot yet perform memory allocations at the point that this occurs in init_x2apic_ldr(). So at present, the alloc_clustermask() function allocates a clustermask just in case it's needed, storing it in the global cluster_hotplug_mask. A CPU which is the first sibling of a cluster will "take" it from there and set cluster_hotplug_mask to NULL, in order for alloc_clustermask() to allocate a new one before bringing up the next CPU. To facilitate parallel bringup of CPUs in future, switch to a model where alloc_clustermask() prepopulates the clustermask in the per_cpu data for each present CPU in the cluster in advance. All that the CPU needs to do for itself in init_x2apic_ldr() is set its own bit in that mask. The 'node' and 'clusterid' members of struct cluster_mask are thus redundant, and it can become a simple struct cpumask instead. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Signed-off-by: Usama Arif <usama.arif@bytedance.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Paul E. McKenney <paulmck@kernel.org> Tested-by: Kim Phillips <kim.phillips@amd.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com> Link: https://lore.kernel.org/r/20230316222109.1940300-2-usama.arif@bytedance.com
Diffstat (limited to 'scripts/Makefile.kasan')
0 files changed, 0 insertions, 0 deletions