Bug 816804
| Summary: | NUMA information(memory and cpu) set should be the same as configure in command line | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Sibiao Luo <sluo> | |
| Component: | qemu-kvm | Assignee: | Eduardo Habkost <ehabkost> | |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 6.3 | CC: | acathrow, adaora.onyia, areis, bcao, bgray, bsarathy, chayang, chegu_vinod, cs-ext, dyasny, juzhang, michen, mkenneth, qzhang, shu, virt-maint, wdai, wquan, xfu | |
| Target Milestone: | rc | Keywords: | TestOnly | |
| Target Release: | --- | |||
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 832165 (view as bug list) | Environment: | ||
| Last Closed: | 2013-02-21 07:34:25 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 733720, 851245 | |||
| Bug Blocks: | 799545, 832165, 832167, 833130, 844706, 974374 | |||
|
Description
Sibiao Luo
2012-04-27 03:32:34 UTC
I have tested that the cores with the different socket separated to the same nodes, still hit this issue. eg: # /usr/libexec/qemu-kvm -M rhel6.3.0 -cpu qemu64,+sse2 -enable-kvm -m 4096 -smp 20,sockets=20,cores=1,threads=1 -usb -device usb-tablet,id=input0 -name sluo_test -uuid `uuidgen` -drive file=/home/RHEL6.3-20120416.0-Server-x86_64.qcow2,format=qcow2,if=none,id=drive-disk,cache=none,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-disk,id=image,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,bootindex=2 -device virtio-balloon-pci,id=ballooning -monitor stdio -boot menu=on -spice port=5931,disable-ticketing -numa node,mem=1024,cpus=0-4,nodeid=0 -numa node,mem=1024,cpus=5-9,nodeid=1 -numa node,mem=512,cpus=10-18,nodeid=2 -numa node,mem=512,cpus=19,nodeid=3 check memory and cpu info in monitor: (qemu) info numa 4 nodes node 0 cpus: 0 1 2 3 4 node 0 size: 1024 MB node 1 cpus: 5 6 7 8 9 node 1 size: 1024 MB node 2 cpus: 10 11 12 13 14 15 16 17 18 node 2 size: 512 MB node 3 cpus: 19 node 3 size: 512 MB check memory and cpu info in guest: # numactl --hardware available: 1 nodes (0) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 node 0 size: 4095 MB node 0 free: 3287 MB node distances: node 0 0: 10 # numactl --show policy: default preferred node: current physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cpubind: 0 nodebind: 0 membind: 0 *** Bug 816798 has been marked as a duplicate of this bug. *** *** Bug 825668 has been marked as a duplicate of this bug. *** Marking as TestOnly, to be tested once bug 733720 is fixed. Bug 733720 is ON_QA. Moving TestOnly BZs to ON_QA as well. Test with qemu-kvm-rhev-0.12.1.2-2.337.el6.x86_64: 1.boot guest with: -smp 50,sockets=1,cores=50,threads=1 -numa node,mem=1024,cpus=0-9,nodeid=0 -numa node,mem=1024,cpus=10-19,nodeid=1 -numa node,mem=1024,cpus=20-29,nodeid=2 -numa node,mem=1024,cpus=30-48,nodeid=3 -numa node,mem=1024,cpus=49,nodeid=4 2. in qemu monitor (qemu) info numa 5 nodes node 0 cpus: 0 1 2 3 4 5 6 7 8 9 node 0 size: 1024 MB node 1 cpus: 10 11 12 13 14 15 16 17 18 19 node 1 size: 1024 MB node 2 cpus: 20 21 22 23 24 25 26 27 28 29 node 2 size: 1024 MB node 3 cpus: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 node 3 size: 1024 MB node 4 cpus: 49 node 4 size: 1024 MB 3. in the guest: numactl --hardware available: 4 nodes (0-3) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 49 node 0 size: 1023 MB node 0 free: 648 MB node 1 cpus: 10 11 12 13 14 15 16 17 18 19 node 1 size: 1024 MB node 1 free: 968 MB node 2 cpus: 20 21 22 23 24 25 26 27 28 29 node 2 size: 1024 MB node 2 free: 979 MB node 3 cpus: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 node 3 size: 1023 MB node 3 free: 968 MB node distances: node 0 1 2 3 0: 10 20 20 20 1: 20 10 20 20 2: 20 20 10 20 3: 20 20 20 10 The behavior you see above is the one you are going to get if you (incorrectly) have -m 4096 on the qemu-kvm command-line (the last node will be ignored by the OS because you are giving 1G for each node and the first four nodes are enough to cover the whole RAM). If you use -m 5120, on the other hand, you should get the right behavior. So, please show the full qemu-kvm command-line you used. I confirm that bug is reproducible only if using the (incorrect) command-line: /usr/libexec/qemu-kvm -m 4096 -smp 50,sockets=1,cores=50,threads=1 -numa node,mem=1024,cpus=0-9,nodeid=0 -numa node,mem=1024,cpus=10-19,nodeid=1 -numa node,mem=1024,cpus=20-29,nodeid=2 -numa node,mem=1024,cpus=30-48,nodeid=3 -numa node,mem=1024,cpus=49,nodeid=4 -vnc :0 -hda /var/lib/libvirt/images/rhel64.img (it has 5 nodes of 1024MB each, but only 4096MB of RAM, so there's no enough RAM for all nodes) The problem can't be reproduced if the command-line is set so that the amount of RAM is enough for all nodes: /usr/libexec/qemu-kvm -m 4096 -smp 50,sockets=1,cores=50,threads=1 -numa node,mem=1024,cpus=0-9,nodeid=0 -numa node,mem=1024,cpus=10-19,nodeid=1 -numa node,mem=1024,cpus=20-29,nodeid=2 -numa node,mem=1024,cpus=30-48,nodeid=3 -numa node,mem=1024,cpus=49,nodeid=4 -vnc :0 -hda /var/lib/libvirt/images/rhel64.img Moving back to ON_QA. (In reply to comment #10) > The problem can't be reproduced if the command-line is set so that the > amount of RAM is enough for all nodes: > > /usr/libexec/qemu-kvm -m 4096 -smp 50,sockets=1,cores=50,threads=1 -numa > node,mem=1024,cpus=0-9,nodeid=0 -numa node,mem=1024,cpus=10-19,nodeid=1 > -numa node,mem=1024,cpus=20-29,nodeid=2 -numa > node,mem=1024,cpus=30-48,nodeid=3 -numa node,mem=1024,cpus=49,nodeid=4 -vnc > :0 -hda /var/lib/libvirt/images/rhel64.img Copy&paste mistake. Right command-line is: /usr/libexec/qemu-kvm -m 5120 -smp 50,sockets=1,cores=50,threads=1 -numa node,mem=1024,cpus=0-9,nodeid=0 -numa node,mem=1024,cpus=10-19,nodeid=1 -numa node,mem=1024,cpus=20-29,nodeid=2 -numa node,mem=1024,cpus=30-48,nodeid=3 -numa node,mem=1024,cpus=49,nodeid=4 -vnc :0 -hda /var/lib/libvirt/images/rhel64.img Hi Eduardo, you are right, i retest and it works correctly, thanks for specification, i will set this one verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0527.html |