1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
KVM guest does not reflect numa distances configured through qemu
KVM guest does not reflect numa distances configured through qemu
Env:
Host/Guest Kernel: 5.1.0-rc1-g72999bbdc
qemu : 3.1.90 (v2.8.0-rc0-18614-g278aebafa0-dirty) [repo: https://github.com/dgibson/qemu; branch:ppc-for-4.1 ]
# git log -1
commit 278aebafa02f699857ca082d966bcbc05dc9bffb (HEAD -> ppc-for-4.1)
Author: Jafar Abdi <email address hidden>
Date: Sat Mar 23 17:26:36 2019 +0300
tests/libqos: fix usage of bool in pci-spapr.c
Clean up wrong usage of FALSE and TRUE in places that use "bool" from stdbool.h.
FALSE and TRUE (with capital letters) are the constants defined by glib for
being used with the "gboolean" type of glib. But some parts of the code also use
TRUE and FALSE for variables that are declared as "bool" (the type from <stdbool.h>).
Signed-off-by: Jafar Abdi <email address hidden>
Reviewed-by: Eric Blake <email address hidden>
Message-Id: <email address hidden>
Signed-off-by: David Gibson <email address hidden>
# libvirtd -V
libvirtd (libvirt) 5.1.0
Steps to reproduce:
1. Boot attached guest xml with predefined numa distance.
qemu-commandline:
/usr/share/avocado-plugins-vt/bin/install_root/bin/qemu-system-ppc64 -name guest=vm2,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-15-vm2/master-key.aes -machine pseries-4.0,accel=kvm,usb=off,dump-guest-core=off -m 4096 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -numa node,nodeid=0,cpus=0-1,mem=2048 -numa node,nodeid=1,cpus=2-3,mem=2048 -uuid 1a870f1d-269a-4a8c-84bc-2b5bda72823a -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=28,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -kernel /home/kvmci/linux/vmlinux -append root=/dev/sda2 rw console=tty0 console=ttyS0,115200 init=/sbin/init initcall_debug selinux=0 -device qemu-xhci,id=usb,bus=pci.0,addr=0x3 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 -drive file=/var/lib/avocado/data/avocado-vt/images/jeos-27-ppc64le.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 -netdev tap,fd=30,id=hostnet0,vhost=on,vhostfd=31 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f4:f5:f6,bus=pci.0,addr=0x1 -chardev pty,id=charserial0 -device spapr-vty,chardev=charserial0,id=serial0,reg=0x30000000 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on
2. Check numa distance and other details inside guest
# numactl -H
available: 2 nodes (0-1)
node 0 cpus: 0 1
node 0 size: 2025 MB
node 0 free: 1837 MB
node 1 cpus: 2 3
node 1 size: 2045 MB
node 1 free: 1646 MB
node distances:
node 0 1
0: 10 40 -----------------------------------NOK
1: 40 10
# lsprop /proc/device-tree/cpus/PowerPC\,POWER9\@*/ibm\,associativity
/proc/device-tree/cpus/PowerPC,POWER8@0/ibm,associativity
00000005 00000000 00000000 00000000 00000000 00000000
/proc/device-tree/cpus/PowerPC,POWER8@10/ibm,associativity
00000005 00000000 00000000 00000000 00000001 00000010
/proc/device-tree/cpus/PowerPC,POWER8@18/ibm,associativity
00000005 00000000 00000000 00000000 00000001 00000018
/proc/device-tree/cpus/PowerPC,POWER8@8/ibm,associativity
00000005 00000000 00000000 00000000 00000000 00000008
# lsprop /proc/device-tree/rtas/ibm,associativity-reference-points
/proc/device-tree/rtas/ibm,associativity-reference-points
00000004 00000004
Expected numa distances:
node distances:
node 0 1
0: 10 20
1: 20 10
|