On Sat, Apr 23, 2016 at 05:06:31PM +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 v16 0/6] arm64, numa: Add numa support for arm64 platforms > https://lkml.org/lkml/2016/4/8/571 > - [PATCH v5 00/14] ACPI NUMA support for ARM64 > https://lkml.org/lkml/2016/4/19/852 > > 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" > > Changes since v5: > * don't generate /distance-map node since it's optional > * improve the /memory node name > * move acpi_build_srat_memory to common place then reuse it to generate > SRAT table > > Changes since v4: > * rebased on new kernel driver and device bindings, especially the > compatible string "numa-distance-map-v1" of /distance-map node > * set the numa-node-id for first /memory node > > 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 > > Shannon Zhao (5): > ARM: Virt: Set numa-node-id for CPUs > ARM: Add numa-node-id for /memory node
I think we need to squash these first two patch together. Otherwise if you're bisecting qemu using a guest boot for a test case, then you could end up booting with numa-node-id set in the cpus, without their corresponding memory node. drew > ACPI: Add GICC Affinity Structure > ACPI: move acpi_build_srat_memory to common place > ACPI: Virt: Generate SRAT table > > hw/acpi/aml-build.c | 12 +++++++++++ > hw/arm/boot.c | 43 +++++++++++++++++++++++++++++++------ > hw/arm/virt-acpi-build.c | 52 > +++++++++++++++++++++++++++++++++++++++++++++ > hw/arm/virt.c | 8 +++++++ > hw/i386/acpi-build.c | 22 +------------------ > include/hw/acpi/acpi-defs.h | 15 ++++++++++++- > include/hw/acpi/aml-build.h | 10 +++++++++ > 7 files changed, 134 insertions(+), 28 deletions(-) > > -- > 2.0.4 > > >