|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v9 6/6] docs: Document CPU hotplug
Hi Mykyta, Mykyta Poturai <Mykyta_Poturai@xxxxxxxx> writes: > On 9/22/26 4:13 AM, Volodymyr Babchuk wrote: >> Hi, >> >> Mykyta Poturai <Mykyta_Poturai@xxxxxxxx> writes: >> >> I have a couple of questions, please see below >> >>> Signed-off-by: Mykyta Poturai <mykyta_poturai@xxxxxxxx> >>> --- >>> v8->v9: >>> * fix typos >>> >>> v7->v8: >>> * remove support status update >>> * update config option name >>> >>> v6->v7: >>> * add testing and limitations >>> >>> v5->v6: >>> * no changes >>> >>> v4->v5: >>> * s/supported/implemented/ >>> * update SUPPORT.md >>> >>> v3->v4: >>> * update configuration section >>> >>> v2->v3: >>> * patch introduced >>> --- >>> docs/misc/cpu-hotplug.txt | 98 +++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 98 insertions(+) >>> create mode 100644 docs/misc/cpu-hotplug.txt >>> >>> diff --git a/docs/misc/cpu-hotplug.txt b/docs/misc/cpu-hotplug.txt >>> new file mode 100644 >>> index 0000000000..4f6068db30 >>> --- /dev/null >>> +++ b/docs/misc/cpu-hotplug.txt >>> @@ -0,0 +1,98 @@ >>> +CPU Hotplug >>> +=========== >>> + >>> +CPU hotplug is a feature that allows pCPU cores to be added to or removed >>> from a >>> +running system without requiring a reboot. It is implemented on x86 and >>> Arm64 >>> +architectures. >>> + >>> +Implementation Details >>> +---------------------- >>> + >>> +CPU hotplug is implemented through the `XEN_SYSCTL_CPU_HOTPLUG_*` sysctl >>> calls. >>> +The specific calls are: >>> + >>> +- `XEN_SYSCTL_CPU_HOTPLUG_ONLINE`: Brings a pCPU online >>> +- `XEN_SYSCTL_CPU_HOTPLUG_OFFLINE`: Takes a pCPU offline >>> +- `XEN_SYSCTL_CPU_HOTPLUG_SMT_ENABLE`: Enables SMT threads (x86 only) >>> +- `XEN_SYSCTL_CPU_HOTPLUG_SMT_DISABLE`: Disables SMT threads (x86 only) >>> + >>> +All cores can be disabled, assuming hardware support, except for the boot >>> core. >>> +Sysctl calls are routed to the boot core before doing any actual up/down >>> +operations on other cores. >>> + >>> +If there are Xen-bound interrupts pinned to the pCPU being offlined, they >>> will >>> +be automatically migrated to other online pCPUs. Interrupts used by guest >>> +domains are handled by the scheduler when it reschedules the vCPUs to a >>> new, >>> +online, pCPU. When a pCPU is being onlined, some Xen-bound interrupts will >>> get >>> +redistributed to the newly onlined pCPU to prevent imbalance. >>> + >>> +If pCPU being offlined has some vCPUs pinned to it, they will be >>> automatically >>> +unpinned and migrated to other online pCPUs. >>> + >>> +Limitations >>> +----------- >>> + >>> +On Arm64 cpu hotplug is currently not compatible with ITS, due to an issue >>> with >>> +the redistributor assignment. >> >> In this case you probably want to make sure that >> CONFIG_CPU_ONLINE_OFFLINE is incompatible with CONFIG_HAS_ITS >> >>> + >>> +On Arm64 there can be problems with FFA if secure FW supports the >>> notification >>> +ABI, and with TEE, as both use non-static IRQ actions. >> >> Could you please elaborate on this? AFAIK, OP-TEE has own >> cpu_up/cpu_down callbacks, so it should know which CPUs are online. > > It's more of a problem with the way interrupt handlers are set up in > Xen. Mykola already has fixes for it in a separate series, but I'm not > how to best sync up our efforts. > Ah, okay, got it. I think that in this case you also want to make sure that both these features are not enabled in the same time. -- WBR, Volodymyr
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |