[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH 0/2] Boot time cpupools
Hi Luca, On 17/11/2021 09:57, Luca Fancellu wrote: Currently Xen creates a default cpupool0 that contains all the cpu brought up during boot and it assumes that the platform has only one kind of CPU. This assumption does not hold on big.LITTLE platform, but putting different type of CPU in the same cpupool can result in instability and security issues for the domains running on the pool. I agree that you can't move a LITTLE vCPU to a big pCPU. However... For this reason this serie introduces an architecture specific way to create different cpupool at boot time, this is particularly useful on ARM big.LITTLE platform where there might be the need to have different cpupools for each type of core, but also systems using NUMA can have different cpu pool for each node. ... from my understanding, all the vCPUs of a domain have to be in the same cpupool. So with this approach it is not possible: 1) to have a mix of LITTLE and big vCPUs in the domain 2) to create a domain spanning across two NUMA nodesSo I think we need to make sure that any solutions we go through will not prevent us to implement those setups. I can see two options here: 1) Allowing a domain vCPUs to be on a different cpupool 2) Introducing CPU class (see [1])I can't remember why Dario suggested 2) rather than 1) in the past. @Dario, do you remember it? Cheers, [1] https://lore.kernel.org/xen-devel/1481135379.3445.142.camel@xxxxxxxxxx/ To test this serie, the hmp_unsafe Xen boot argument is passed to allow Xen starting different CPUs from the boot core. Luca Fancellu (2): xen/cpupool: Create different cpupools at boot time tools/cpupools: Give a name to unnamed cpupools tools/libs/light/libxl_utils.c | 13 ++++-- xen/arch/arm/Kconfig | 15 ++++++ xen/arch/arm/Makefile | 1 + xen/arch/arm/cpupool.c | 84 ++++++++++++++++++++++++++++++++++ xen/common/sched/cpupool.c | 5 +- xen/include/xen/cpupool.h | 30 ++++++++++++ 6 files changed, 142 insertions(+), 6 deletions(-) create mode 100644 xen/arch/arm/cpupool.c create mode 100644 xen/include/xen/cpupool.h -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |