Bug 725636

Summary: The memory value is initialized to the original max value after hot plug the second virtio balloon
Product: Red Hat Enterprise Linux 6 Reporter: Qunfang Zhang <qzhang>
Component: qemu-kvmAssignee: Amit Shah <amit.shah>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 6.2CC: amit.shah, borgan, juzhang, michen, mkenneth, syeghiay, tburke, virt-maint, vrozenfe, wdai
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.209.el6 Doc Type: Bug Fix
Doc Text:
No documentation necessary
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 11:33:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Qunfang Zhang 2011-07-26 06:55:19 UTC
Description of problem:
Boot a guest with virtio balloon device, and balloon the memory to a smaller one.
Then hot plug the second virtio balloon device, the memory value will be re-set to the original value as configured in the qemu command line. Then balloon the memory, it works well.

Version-Release number of selected component (if applicable):
kernel-2.6.32-171.el6.x86_64
qemu-kvm-0.12.1.2-2.171.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1.Boot guest with one virtio balloon device.
/usr/libexec/qemu-kvm -m 16G -smp 4 -cpu cpu64-rhel6,+x2apic -usbdevice tablet -drive file=win7-64-virtio.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=00:10:1a:20:06:28,bus=pci.0,addr=0x6 -boot dc -uuid bea9c85e-0a47-4030-979d-5d94bb3d6161 -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -qmp tcp:0:4444,server,nowait -name win7-64-balloon -spice disable-ticketing,port=5931 -vga qxl -device virtio-balloon-pci,bus=pci.0,id=balloon0

2.Balloon the memory, it works.
{"execute":"query-balloon"}
{"return": {"actual": 17179869184}}


{"execute":"balloon","arguments":{"value":16106127360}}
{"return": {}}

{"execute":"query-balloon"}
{"return": {"actual": 16106127360}}

3.Hot plug another virtio balloon device.
{"execute":"device_add","arguments":{"driver":"virtio-balloon-pci","id":"balloon1"}}
{"return": {}}

4. Check the memory:
{"execute":"query-balloon"}
{"return": {"actual": 17179869184}}

5. 
{"execute":"balloon","arguments":{"value":16106127360}}
{"return": {}}

{"execute":"query-balloon"}
{"return": {"actual": 16743661568}}

  
Actual results:
After step4, the memory value is re-set to the original max value.

Expected results:
After step4, the memory value should not change.

Additional info:

Comment 2 Dor Laor 2011-09-12 06:55:14 UTC
We're not supporting more than 2 balloon devices. In theory we can try preventing this, low priority.

Comment 3 Amit Shah 2011-09-12 07:23:36 UTC
This is actually fixed by the fix for bug 725625.  We now don't allow more than one active balloon device.

Since it's not really a duplicate of the other bug, I'll just put this ON_QA, and update the 'Fixed in version' field.

Comment 5 Qunfang Zhang 2011-11-08 03:08:56 UTC
Verified this bug on qemu-kvm-0.12.1.2-2.209.el6.x86_64. It is not allowed to add more than one active balloon device currently. So will not hit this issue.

(qemu) device_add virtio-balloon-pci,id=balloon1
Another balloon device already registered
Device 'virtio-balloon-pci' could not be initialized

So, this issue is fixed. Setting to VERIFIED.

Comment 8 Amit Shah 2012-04-24 13:06:46 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No documentation necessary

Comment 9 errata-xmlrpc 2012-06-20 11:33:37 UTC
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-2012-0746.html