Hi, On Sat, Jan 23, 2016 at 07:36:41PM +0800, Shannon Zhao wrote: > From: Shannon Zhao <shannon.z...@linaro.org> > > Add NUMA support for machine virt. Tested successfully running a guest > Linux kernel with the following patch applied: > > - [PATCH v9 0/6] arm64, numa: Add numa support for arm64 platforms > https://lwn.net/Articles/672329/ > - [PATCH v2 0/4] ACPI based NUMA support for ARM64 > http://www.spinics.net/lists/linux-acpi/msg61795.html > > Changes since v3: > * based on new kernel driver and device bindings > * add ACPI part > > Changes since v2: > * update to use NUMA node property arm,associativity. > > Changes since v1: > Take into account Peter's comments: > * rename virt_memory_init to arm_generate_memory_dtb > * move arm_generate_memory_dtb to boot.c and make it a common func > * use a struct numa_map to generate numa dtb > > Example qemu command line: > qemu-system-aarch64 \ > -enable-kvm -smp 4\ > -kernel Image \ > -m 512 -machine virt,kernel_irqchip=on \ > -initrd guestfs.cpio.gz \ > -cpu host -nographic \ > -numa node,mem=256M,cpus=0-1,nodeid=0 \ > -numa node,mem=256M,cpus=2-3,nodeid=1 \ > -append "console=ttyAMA0 root=/dev/ram" > > Shannon Zhao (5): > ARM: Virt: Add /distance-map node for NUMA > ARM: Virt: Set numa-node-id for CPUs > ARM: Add numa-node-id for /memory node > include/hw/acpi/acpi-defs: Add GICC Affinity Structure > hw/arm/virt-acpi-build: Generate SRAT table > > hw/arm/boot.c | 29 ++++++++++++++++++++++- > hw/arm/virt-acpi-build.c | 58 > +++++++++++++++++++++++++++++++++++++++++++++ > hw/arm/virt.c | 37 +++++++++++++++++++++++++++++ > hw/i386/acpi-build.c | 2 +- > include/hw/acpi/acpi-defs.h | 15 +++++++++++- > 5 files changed, 138 insertions(+), 3 deletions(-) > > -- > 2.0.4 >
Don't we need to populate the NUMA node in the Affinity byte of MPIDR? Linux uses the Affinity information in MPIDR to build topology which might go wrong for the guest in this case. Maybe a non Linux OS might be impacted more? distance-map compatible string has been changed from "numa,distance-map-v1" to "numa-distance-map-v1" Thanks, Ashok