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