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

Hirokazu Takahashi posted 3 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20260617071206.265599-1-taka@valinux.co.jp
There is a newer version of this series
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
[PATCH v2 0/3] xen/arm: Device Tree based CPU topology support
Posted by Hirokazu Takahashi 1 month ago
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