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

[PATCH v2 0/3] xen/arm: Device Tree based CPU topology support


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Hirokazu Takahashi <taka@xxxxxxxxxxxxx>
  • Date: Wed, 17 Jun 2026 16:12:03 +0900
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; 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=wrvMnlsbLcf6hVm7dzLutZZx8hyZIVvC1XpWfdLPeg0=; b=bHN/tZXejHRJTTiBBHTxDeaJQkB4RgJLVlwz+th7Vhtx0jU9brUMGb4vT+qYeQzV1A9lPMFG1zcW/kTIRjCPZ7SUkTy3ilBPMWxCHzKYQoghNAkKb/yYX94awynTVuF0iOiLgWMpSlyZ+xYK5SmJC1PdmFaH0vvYjkf5n+u8fAduR/yzMOwa9NhWkAn9tivtYyt3zo0wh5CqiYvYteuzvJnRxooAJ+qgPrancImbHgPzRF4mvfKUEyPgD1doe+jAeaYUZqJUImELnGWCOeZ8jh/+V0zk2iMk9iRQskxVyFqjM59p4XXKgI28c/5wE/XBwIBgtyFl7f8NjLCHqntCLA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NxHXBsgOoXjoyDk6O1l0eGLyZOZn8MQRE6jAeJ3Q+Jhk7ydNmuO82xzjSFDb94zZvkAEtTAZxlZGPgPaXeJkxXcZKOU7OmHsiaRA7aVQh+yWOxv8bhYiOsycvhdV+9qV8gt6m9/pNJOV3Hp/TSBsxnTHCIrdCmEtDuDWBSAwlDCQaootohdA/Lq2r5Zww+Sgufe/tbsqXWzwnz8hsWqLkkbjGyvZqavQHnca9Qq9OLiuLggzGv/tbNz9er5pyy85ECNAg7loLQ1v7Pf57eC7a+aqIrrPh1IMSR903dwid20KittTLyfgWr/2d9Tnx09U+B0GkuNrRsWf/vb5X6R9mg==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp;
  • Cc: Mykyta_Poturai@xxxxxxxx, Hirokazu Takahashi <taka@xxxxxxxxxxxxx>
  • Delivery-date: Wed, 17 Jun 2026 07:12:33 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hello,

This patch series introduces basic CPU topology support for ARM Xen.

Changes in v2:
 - Generate topology information even when ACPI is enabled. Note that
   this is a temporary implementation and doesn't yet parse the PPTT
   (Processor Properties Topology Table).
 - Added support for cpu-map node in Device Tree that doesn't contain
   explicit cluster node definitions.

Changes in v1 from the previous series "Introduce Device Tree based NUMA
support for ARM Xen":

1. Optimized Memory Allocation:
   The series now allocates only the minimum required memory area to manage
   the essential data for the CPUs.

2. Flexible Device Tree Parsing:
   The parsing logic no longer depends on the definition order of the 'cpu'
   nodes and 'cpu-map' nodes in the Device Tree. They can now be read
   correctly even if their orders do not match.

3. CPU Hotplug Readiness:
   To support future CPU hotplug, the system assumes that inactive CPUs are
   also described in the Device Tree. Xen will pre-load and generate the
   topology information for these inactive CPUs during the boot phase so
   it stays available in memory.

Thank you,
Hirokazu Takahashi

Hirokazu Takahashi (3):
  xen/device-tree: Parse 'cpu-map' node for CPU topology exploration
  xen/sched: Link CPU topology to scheduler
  xen/sched: Make cpu_nr_siblings() architecture-specific

 xen/arch/arm/Kconfig                  |  11 +
 xen/arch/arm/include/asm/processor.h  |   4 -
 xen/arch/arm/smpboot.c                |  15 +-
 xen/arch/x86/include/asm/processor.h  |   1 +
 xen/common/Kconfig                    |   8 +
 xen/common/Makefile                   |   1 +
 xen/common/cpu-topology.c             |  30 ++
 xen/common/device-tree/Makefile       |   1 +
 xen/common/device-tree/cpu-topology.c | 394 ++++++++++++++++++++++++++
 xen/common/sched/credit2.c            |  21 +-
 xen/common/sysctl.c                   |   1 +
 xen/drivers/acpi/Kconfig              |   3 +
 xen/drivers/acpi/Makefile             |   2 +
 xen/drivers/acpi/topology.c           |  41 +++
 xen/include/xen/acpi.h                |   4 +
 xen/include/xen/cpu-topology.h        |  48 ++++
 xen/include/xen/dt-cpu-topology.h     |  30 ++
 17 files changed, 591 insertions(+), 24 deletions(-)
 create mode 100644 xen/common/cpu-topology.c
 create mode 100644 xen/common/device-tree/cpu-topology.c
 create mode 100644 xen/drivers/acpi/topology.c
 create mode 100644 xen/include/xen/cpu-topology.h
 create mode 100644 xen/include/xen/dt-cpu-topology.h

-- 
2.43.0




 


Rackspace

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