On 06/16/2014 05:53 PM, Alexey Kardashevskiy wrote: > c4177479 "spapr: make sure RMA is in first mode of first memory node" > introduced regression which prevents from running guests with memoryless > NUMA node#0 which may happen on real POWER8 boxes and which would make > sense to debug in QEMU. > > This patchset aim is to fix that and also fix various code problems in > memory nodes generation. > > These 2 patches could be merged (the resulting patch looks rather ugly): > spapr: Use DT memory node rendering helper for other nodes > spapr: Move DT memory node rendering to a helper > > Please comment. Thanks! >
Sure I forgot to add an example of what I am trying to run without errors and warnings: /home/aik/qemu-system-ppc64 \ -enable-kvm \ -machine pseries \ -nographic \ -vga none \ -drive id=id0,if=none,file=virtimg/fc20_24GB.qcow2,format=qcow2 \ -device scsi-disk,id=id1,drive=id0 \ -m 2080 \ -smp 8 \ -numa node,nodeid=0,cpus=0-7,memory=0 \ -numa node,nodeid=2,cpus=0-3,mem=1040 \ -numa node,nodeid=4,cpus=4-7,mem=1040 [root@localhost ~]# find /proc/device-tree/ -iname "ibm,associativity" -exec lspr /proc/device-tree/cpus/PowerPC,POWER7@1c/ibm,associativityibm,associativity" -exec Password: 00000005 00000000 00000000 00000000 00000004 0000001cvity" -exec /proc/device-tree/cpus/PowerPC,POWER7@18/ibm,associativitym,associativity" -exec l lsprop {} \;earc 00000005 00000000 00000000 00000000 00000004 00000018ty" -exec l /proc/device-tree/cpus/PowerPC,POWER7@14/ibm,associativity 00000005 00000000 00000000 00000000 00000004 00000014 /proc/device-tree/cpus/PowerPC,POWER7@10/ibm,associativity 00000005 00000000 00000000 00000000 00000004 00000010 /proc/device-tree/cpus/PowerPC,POWER7@c/ibm,associativity 00000005 00000000 00000000 00000000 00000002 0000000c /proc/device-tree/cpus/PowerPC,POWER7@8/ibm,associativity 00000005 00000000 00000000 00000000 00000002 00000008 /proc/device-tree/cpus/PowerPC,POWER7@4/ibm,associativity 00000005 00000000 00000000 00000000 00000002 00000004 /proc/device-tree/cpus/PowerPC,POWER7@0/ibm,associativity 00000005 00000000 00000000 00000000 00000002 00000000 /proc/device-tree/memory@0/ibm,associativity 00000004 00000000 00000000 00000000 00000002 /proc/device-tree/memory@40000000/ibm,associativity 00000004 00000000 00000000 00000000 00000002 /proc/device-tree/memory@41000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@42000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@44000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@48000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@50000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@60000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 /proc/device-tree/memory@80000000/ibm,associativity 00000004 00000000 00000000 00000000 00000004 [root@localhost ~]# numactl --hardware available: 3 nodes (0,2,4) node 0 cpus: node 0 size: 0 MB node 0 free: 0 MB node 2 cpus: 0 1 2 3 node 2 size: 1021 MB node 2 free: 610 MB node 4 cpus: 4 5 6 7 node 4 size: 1038 MB node 4 free: 881 MB node distances: node 0 2 4 0: 10 40 40 2: 40 10 40 4: 40 40 10 Seems correct except that weird node#0 which comes I do not where from. And the patchset is made agains agraf/ppc-next tree. > > > Alexey Kardashevskiy (7): > spapr: Move DT memory node rendering to a helper > spapr: Use DT memory node rendering helper for other nodes > spapr: Refactor spapr_populate_memory() > spapr: Split memory nodes to power-of-two blocks > spapr: Add a helper for node0_size calculation > spapr: Fix ibm,associativity for memory nodes > numa: Allow empty nodes > > hw/ppc/spapr.c | 104 > +++++++++++++++++++++++++++++++-------------------------- > vl.c | 2 +- > 2 files changed, 57 insertions(+), 49 deletions(-) > -- Alexey