[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v9 6/6] docs: Document CPU hotplug


  • To: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Fri, 16 Oct 2026 23:46:08 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jTCy0pkM79qOAMYhPwHCq/VHMUiYVsH4lrrqGHveSG0=; b=Ot7tcpRDN2hbILdfnQcht89okkoosqQWm/EvoJ5YnNI3kN+edHS1tc0N50psE9cL+meTBMvCvxyIw/Xd6c2g7CVyJqshDuK3U4g7+gm53A8AN8SI2qMFZp5dymQEqKVKIgdXVp+epXGJr2tbeMXGbZT9HtlGxci1ZesjVQ2/7LfGd8eFpx6EZoNtTu0FFmJBvtgS61DlA69a7aCKPqvbbOe3An2kHD7otK1c1XyC1gCa6U+WeoEmE80OXJH6PKKwVzxKtYsVpuDI49nNS/871Tvt6XdhjTzJxX48EK7LbyLWFqW/vB03kle6d0LPkqkDg6xG2GwJkgQXrdY/h3B/QQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eiB4Fovet63O+nFW2rvB9jfXf6ACGAxvs++fz7XQnuZY+59HjMiJNLFnyk+Cltug8UP3cK9W4Qg7zXX9g57iLpz5ZX9O7tKV7JkW0Tst6acCTDGHaJ8v28ZbAQ6fI/RR/jYfhcnxUgb5dXT1vQOL23vMeRvarvDiLAAGG4QeW50PwfQZ04iCa6F9h+ZQ/hu6J4o0w9ttwh9Z7pM98NPCZpSZZaOJjTBmEAsGGSs4c6P5XpG7Y4ujNTCYQrVO/NNxafIuZdR4+IOh6lTZWl+3LUrlDirdzYsfRJN/d9DKha7dvcPfS16ERi/myxHaBxGw7rV0zeUmMpJ+U607BJsF2A==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
  • Authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Fri, 16 Oct 2026 23:46:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHdLu5n5DTKasDPakWayAUOcTtpgw==
  • Thread-topic: [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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.