Bug 1266856
Summary: | Migration from 7.0 to 7.2 failed with numa+hugepage settings. | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Fangge Jin <fjin> | ||||
Component: | libvirt | Assignee: | Martin Kletzander <mkletzan> | ||||
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 7.2 | CC: | dyuan, fjin, huding, juzhang, lhuang, lmiksik, mzhan, rbalakri, zpeng | ||||
Target Milestone: | rc | Keywords: | Upstream | ||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | libvirt-1.2.17-13.el7 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2015-11-19 06:55:31 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: | |||||||
Attachments: |
|
Description
Fangge Jin
2015-09-28 08:38:28 UTC
There is no <numatune/> element in your XML, right? Just so we're sure because you haven't posted the whole XML. Thanks. Created attachment 1078560 [details]
The guest XML
(In reply to Martin Kletzander from comment #2) > There is no <numatune/> element in your XML, right? Just so we're sure > because you haven't posted the whole XML. Thanks. I have attached the full xml of the guest. there is no <numatune/> element. Patches proposed upstream (the last one fixes the problem): https://www.redhat.com/archives/libvir-list/2015-October/msg00010.html Fixed upstream by commit v1.2.20-10-g41c2aa729f0a: commit 41c2aa729f0af084ede95ee9a06219a2dd5fb5df Author: Martin Kletzander <mkletzan> Date: Thu Oct 1 07:34:57 2015 +0200 qemu: Use memory-backing-file only when needed Test on build libvirt-1.2.17-13.el7.x86_64 with the following scenarios, each has got the expected result: 1)7.0-> 7.2, with numa+hugepage, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <memoryBacking> <hugepages/> </memoryBacking> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> 2)7.0-> 7.2, with numa+hugepage+numatune, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <memoryBacking> <hugepages/> <nosharepages/> <locked/> </memoryBacking> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> 3)7.2->7.2, with numa+hugepage, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <memoryBacking> <hugepages/> <nosharepages/> <locked/> </memoryBacking> <cpu> <numa> <cell id='0' cpus='0-1' memory='512000' unit='KiB'/> <cell id='1' cpus='2-3' memory='512000' unit='KiB'/> </numa> </cpu> 4)7.2->7.2, with numa+hugepage+numatune, without specified pagesize, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <memoryBacking> <hugepages/> <nosharepages/> <locked/> </memoryBacking> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell id='0' cpus='0-1' memory='512000' unit='KiB'/> <cell id='1' cpus='2-3' memory='512000' unit='KiB'/> </numa> </cpu> 5)7.2->7.2, with numa+hugepage+numatune, with specified pagesize, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <memoryBacking> <hugepages> <page size='2048' unit='KiB' nodeset='1'/> </hugepages> <nosharepages/> <locked/> </memoryBacking> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell id='0' cpus='0-1' memory='512000' unit='KiB'/> <cell id='1' cpus='2-3' memory='512000' unit='KiB'/> </numa> </cpu> Regression test for 6.7->7.2: 6)6.7->7.2, with numa+numatune, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1000000</currentMemory> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> 7)6.7->7.2 with hugepage, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1000000</currentMemory> <memoryBacking> <hugepages/> <nosharepages/> <locked/> </memoryBacking> 8)6.7->7.2, with numa+numatune+hugepage, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1000000</currentMemory> <memoryBacking> <hugepages/> <nosharepages/> <locked/> </memoryBacking> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> More regression tests for 7.0->7.2: 9)7.0-> 7.2, with numa, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> 10)7.0-> 7.2, with numa+numatune, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> More regression tests for 7.2->7.2: 11)7.2-> 7.2, with numa, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <cpu> <numa> <cell id='0' cpus='0-1' memory='512000' unit='KiB'/> <cell id='1' cpus='2-3' memory='512000' unit='KiB'/> </numa> </cpu> 12)7.2-> 7.2, with numa+numatune, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1024000</currentMemory> <numatune> <memory mode='strict' nodeset='0'/> </numatune> <cpu> <numa> <cell id='0' cpus='0-1' memory='512000' unit='KiB'/> <cell id='1' cpus='2-3' memory='512000' unit='KiB'/> </numa> </cpu> More regression test for 6.7->7.2: 13)6.7->7.2, with numa, PASS (Migration succeed): <memory unit='KiB'>1024000</memory> <currentMemory unit='KiB'>1000000</currentMemory> <cpu> <numa> <cell cpus='0-1' memory='512000'/> <cell cpus='2-3' memory='512000'/> </numa> </cpu> The qemu command line for each numa/numatune/hugepage combination: a)numa+hugepage: -mem-path /dev/hugepages/libvirt/qemu -numa node,nodeid=0,cpus=0-1,mem=500 -numa node,nodeid=1,cpus=2-3,mem=500 b)numa: -numa node,nodeid=0,cpus=0-1,mem=500 -numa node,nodeid=1,cpus=2-3,mem=500 c)numa+numatune: -numa node,nodeid=0,cpus=0-1,mem=500 -numa node,nodeid=1,cpus=2-3,mem=500 d)numa+numatune+hugepage(without specified hugepage size): -mem-path /dev/hugepages/libvirt/qemu -numa node,nodeid=0,cpus=0-1,mem=500 -numa node,nodeid=1,cpus=2-3,mem=500 e)numa+numatune+hugepage(with specified hugepage size, only for 7.2->7.2): -object memory-backend-ram,id=ram-node0,size=524288000,host-nodes=0,policy=bind -numa node,nodeid=0,cpus=0-1,memdev=ram-node0 -object memory-backend-file,id=ram-node1,prealloc=yes,mem-path=/dev/hugepages/libvirt/qemu,size=524288000,host-nodes=0,policy=bind -numa node,nodeid=1,cpus=2-3,memdev=ram-node1 Comment9~12 can verify this bug. 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. https://rhn.redhat.com/errata/RHBA-2015-2202.html |