xen/cpupool: Create different cpupools at boot time
authorLuca Fancellu <luca.fancellu@arm.com>
Fri, 6 May 2022 12:00:09 +0000 (13:00 +0100)
committerStefano Stabellini <stefano.stabellini@xilinx.com>
Mon, 9 May 2022 20:32:33 +0000 (13:32 -0700)
commita6dc3b947cd1ba1ae95ef0a46cf4ab4b8a2d3ebd
tree12217b1278a19426d12cc2390735529d45e46845
parentd54aed35babf1da36e6b3c0715f6cd56761af3f9
xen/cpupool: Create different cpupools at boot time

Introduce a way to create different cpupools at boot time, this is
particularly useful on ARM big.LITTLE system where there might be the
need to have different cpupools for each type of core, but also
systems using NUMA can have different cpu pools for each node.

The feature on arm relies on a specification of the cpupools from the
device tree to build pools and assign cpus to them.

ACPI is not supported for this feature.

With this patch, cpupool0 can now have less cpus than the number of
online ones, so update the default case for opt_dom0_max_vcpus.

Documentation is created to explain the feature.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Acked-by: George Dunlap <george.dunlap@citrix.com>
MAINTAINERS
docs/misc/arm/device-tree/cpupools.txt [new file with mode: 0644]
xen/arch/arm/domain_build.c
xen/arch/arm/include/asm/smp.h
xen/common/sched/Kconfig
xen/common/sched/Makefile
xen/common/sched/boot-cpupool.c [new file with mode: 0644]
xen/common/sched/cpupool.c
xen/include/xen/sched.h