[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 0/5] Implement CPU hotplug on Arm
Hi Mykyta, Thanks for the series. It seems there might be issues here -- please take a look and let me know if my concerns are valid: 1. FF-A notification IRQ: after a CPU down->up cycle the IRQ configuration may be lost. 2. GICv3 LPIs: a CPU may fail to come back up unless its LPI pending table exists (is allocated) on bring-up. See gicv3_lpi_allocate_pendtable() and its call chain. 3. IRQ migration on CPU down: if an IRQ targets a CPU being offlined, its affinity should be moved to an online CPU before completing the offlining. 4. Race between the new hypercalls and disable/enable_nonboot_cpus(): disable_nonboot_cpus is called, enable_nonboot_cpus() reads frozen_cpus, and before it calls cpu_up() a hypercall onlines the CPU. cpu_up() then fails as "already online", but the CPU_RESUME_FAILED path may still run for an already-online CPU, risking use-after-free of per-CPU state (e.g. via free_percpu_area()) and other issues related to CPU_RESUME_FAILED notification. On Fri, Oct 10, 2025 at 12:36 PM Mykyta Poturai <Mykyta_Poturai@xxxxxxxx> wrote: > > 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. > > Tested on QEMU. > > v2->v3: > * add docs > > v1->v2: > * see individual patches > > Mykyta Poturai (5): > arm/time: Use static irqaction > arm/gic: Use static irqaction > 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/gic.c | 11 +++++-- > xen/arch/arm/sysctl.c | 45 ++++++++++++++++++++++++++++ > xen/arch/arm/time.c | 21 ++++++++++--- > 9 files changed, 159 insertions(+), 7 deletions(-) > create mode 100644 docs/misc/cpu-hotplug.txt > mode change 100755 => 100644 tools/configure > > -- > 2.34.1 > Best regards, Mykola
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |