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