[PATCH v4 0/8] Implement CPU hotplug on Arm

Mykyta Poturai posted 8 patches 6 days, 13 hours ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/cover.1762939773.git.mykyta._5Fpoturai@epam.com
config/Tools.mk.in               |  1 +
docs/misc/cpu-hotplug.txt        | 51 ++++++++++++++++++++++++++++++++
tools/configure                  | 30 +++++++++++++++++++
tools/configure.ac               |  1 +
tools/libs/guest/Makefile.common |  4 +++
tools/misc/Makefile              |  2 +-
xen/arch/arm/Kconfig             |  4 +++
xen/arch/arm/gic.c               | 11 +++++--
xen/arch/arm/include/asm/irq.h   |  2 ++
xen/arch/arm/irq.c               | 42 ++++++++++++++++++++++++++
xen/arch/arm/smp.c               |  6 ++++
xen/arch/arm/smpboot.c           |  2 ++
xen/arch/arm/sysctl.c            | 32 ++++++++++++++++++++
xen/arch/arm/time.c              | 21 ++++++++++---
xen/arch/ppc/stubs.c             |  4 +++
xen/arch/riscv/stubs.c           |  5 ++++
xen/arch/x86/include/asm/smp.h   |  3 --
xen/arch/x86/smp.c               | 33 ++-------------------
xen/common/smp.c                 | 32 ++++++++++++++++++++
xen/include/xen/smp.h            |  4 +++
20 files changed, 250 insertions(+), 40 deletions(-)
create mode 100644 docs/misc/cpu-hotplug.txt
mode change 100755 => 100644 tools/configure
[PATCH v4 0/8] Implement CPU hotplug on Arm
Posted by Mykyta Poturai 6 days, 13 hours ago
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.
2. timer and GIC maintenance interrupts switched to static irqactions to remove
the need for freeing them during release_irq.
3. Enabled the build of xen-hptool on Arm.
4. Migration of irqs from dying CPUs implemented.

Tested on QEMU.

Note: As there are currently no Xen-used IRQs on non-zero CPUs, I used a hack
that changed default affinity of IRQs in setup_irq to properly test IRQ
migration. The hack consisted of changing smp_processor_id call to some
hard-coded non-zero number.

v3->v4:
* add irq migration patches
* see individual patches

v2->v3:
* add docs

v1->v2:
* see individual patches

Mykyta Poturai (5):
  arm/time: Use static irqaction
  arm/gic: Use static irqaction
  arm/irq: Keep track of irq affinities
  arm/irq: Migrate IRQs from dyings CPUs
  smp: Move cpu_up/down helpers to common code
  arm/sysctl: Implement cpu hotplug ops
  tools: Allow building xen-hptool without CONFIG_MIGRATE
  docs: Document CPU hotplug

 config/Tools.mk.in               |  1 +
 docs/misc/cpu-hotplug.txt        | 51 ++++++++++++++++++++++++++++++++
 tools/configure                  | 30 +++++++++++++++++++
 tools/configure.ac               |  1 +
 tools/libs/guest/Makefile.common |  4 +++
 tools/misc/Makefile              |  2 +-
 xen/arch/arm/Kconfig             |  4 +++
 xen/arch/arm/gic.c               | 11 +++++--
 xen/arch/arm/include/asm/irq.h   |  2 ++
 xen/arch/arm/irq.c               | 42 ++++++++++++++++++++++++++
 xen/arch/arm/smp.c               |  6 ++++
 xen/arch/arm/smpboot.c           |  2 ++
 xen/arch/arm/sysctl.c            | 32 ++++++++++++++++++++
 xen/arch/arm/time.c              | 21 ++++++++++---
 xen/arch/ppc/stubs.c             |  4 +++
 xen/arch/riscv/stubs.c           |  5 ++++
 xen/arch/x86/include/asm/smp.h   |  3 --
 xen/arch/x86/smp.c               | 33 ++-------------------
 xen/common/smp.c                 | 32 ++++++++++++++++++++
 xen/include/xen/smp.h            |  4 +++
 20 files changed, 250 insertions(+), 40 deletions(-)
 create mode 100644 docs/misc/cpu-hotplug.txt
 mode change 100755 => 100644 tools/configure

-- 
2.51.2