[PATCH v9 0/6] Implement CPU hotplug on Arm
Mykyta Poturai <[email protected]>
| Newsgroups | org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
This series implements support for CPU hotplug/unplug on Arm. To achieve this, several things need to be done: 1. XEN_SYSCTL_CPU_HOTPLUG_* calls implemented on Arm64. 2. Enabled building of xen-hptool. 3. Migration of irqs from dying CPUs implemented. Tested on QEMU and R-Car Gen5 HW. v8->v9: * rebase * see individual patches v7->v8: * see individual patches v6->v7: * new patch "Kconfig: Make cpu hotplug configurable v5->v6: * see individual patches v4->v5: * drop merged patches * combine "smp: Move cpu_up/down helpers to common code" with "arm/sysctl: Implement cpu hotplug ops" * see individual patches v3->v4: * add irq migration patches * see individual patches v2->v3: * add docs v1->v2: * see individual patches Mykyta Poturai (6): arm/irq: Keep track of irq affinities arm/irq: Migrate IRQs during CPU up/down operations Kconfig: Make cpu hotplug configurable arm/sysctl: Implement cpu hotplug ops tools: Allow building xen-hptool without CONFIG_MIGRATE docs: Document CPU hotplug docs/misc/cpu-hotplug.txt | 98 ++++++++++ tools/misc/Makefile | 9 +- tools/misc/xen-hptool-x86.c | 278 ++++++++++++++++++++++++++++ tools/misc/xen-hptool.c | 293 ++---------------------------- tools/misc/xen-hptool.h | 15 ++ xen/arch/arm/gic-vgic.c | 2 + xen/arch/arm/include/asm/irq.h | 6 + xen/arch/arm/irq.c | 69 ++++++- xen/arch/arm/smp.c | 9 + xen/arch/arm/smpboot.c | 7 + xen/arch/arm/vgic.c | 14 +- xen/arch/arm/vgic/vgic-mmio-v2.c | 11 +- xen/arch/arm/vgic/vgic.c | 21 ++- xen/arch/ppc/stubs.c | 5 + xen/arch/riscv/stubs.c | 5 + xen/arch/x86/include/asm/smp.h | 3 - xen/arch/x86/platform_hypercall.c | 12 ++ xen/arch/x86/smp.c | 35 +--- xen/arch/x86/sysctl.c | 23 ++- xen/common/Kconfig | 8 + xen/common/smp.c | 35 ++++ xen/common/sysctl.c | 34 ++++ xen/include/xen/smp.h | 4 + xen/xsm/flask/hooks.c | 2 +- 24 files changed, 658 insertions(+), 340 deletions(-) create mode 100644 docs/misc/cpu-hotplug.txt create mode 100644 tools/misc/xen-hptool-x86.c create mode 100644 tools/misc/xen-hptool.h -- 2.55.0