[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v7 4/7] xen/cpupool: Create different cpupools at boot time
On 11.04.2022 17:20, Luca Fancellu wrote: > 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@xxxxxxx> > --- > Changes in v7: > - rename xen/common/boot_cpupools.c to xen/common/sched/boot-cpupool.c (Jan) > - reverted xen/common/Makefile, add entry in xen/common/sched/Makefile > - changed line in MAINTAINERS under CPU POOLS section (Dario) > - Fix documentation, update opt_dom0_max_vcpus to the number of cpu in > cpupool0 (Julien) > Changes in v6: > - Changed docs, return if booted with ACPI in btcpupools_dtb_parse, > panic if /chosen does not exists. Changed commit message (Julien) > - Add Juergen R-by for the xen/common/sched part that didn't change > Changes in v5: > - Fixed wrong variable name, swapped schedulers, add scheduler info > in the printk (Stefano) > - introduce assert in cpupool_init and btcpupools_get_cpupool_id to > harden the code > Changes in v4: > - modify Makefile to put in *.init.o, fixed stubs and macro (Jan) > - fixed docs, fix brakets (Stefano) > - keep cpu0 in Pool-0 (Julien) > - moved printk from btcpupools_allocate_pools to > btcpupools_get_cpupool_id > - Add to docs constraint about cpu0 and Pool-0 > Changes in v3: > - Add newline to cpupools.txt and removed "default n" from Kconfig (Jan) > - Fixed comment, moved defines, used global cpu_online_map, use > HAS_DEVICE_TREE instead of ARM and place arch specific code in header > (Juergen) > - Fix brakets, x86 code only panic, get rid of scheduler dt node, don't > save pool pointer and look for it from the pool list (Stefano) > - Changed data structures to allow modification to the code. > Changes in v2: > - Move feature to common code (Juergen) > - Try to decouple dtb parse and cpupool creation to allow > more way to specify cpupools (for example command line) > - Created standalone dt node for the scheduler so it can > be used in future work to set scheduler specific > parameters > - Use only auto generated ids for cpupools > --- > MAINTAINERS | 2 +- > docs/misc/arm/device-tree/cpupools.txt | 140 +++++++++++++++++ > xen/arch/arm/domain_build.c | 5 +- > xen/arch/arm/include/asm/smp.h | 3 + > xen/common/Kconfig | 7 + For consistency, should the addition here - with ... > xen/common/sched/Makefile | 1 + > xen/common/sched/boot-cpupool.c | 207 +++++++++++++++++++++++++ > xen/common/sched/cpupool.c | 12 +- ... the new file now under sched/, also be put in sched/Kconfig? Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |