Bug 839143 - [virtio-win][balloon]windows2003 guest balloon size restore the original value after reboot guest
[virtio-win][balloon]windows2003 guest balloon size restore the original valu...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win (Show other bugs)
6.3
Unspecified Linux
high Severity unspecified
: rc
: ---
Assigned To: Vadim Rozenfeld
Virtualization Bugs
: Regression
Depends On:
Blocks: 840699
  Show dependency treegraph
 
Reported: 2012-07-11 01:46 EDT by langfang
Modified: 2015-09-27 22:15 EDT (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
In the previous version Windows balloon driver didn't keep the current balloon size between hibernation/resume and restarts. The problem was fixed by keeping the current balloon size between restarts and hibernation/resume cycles and adjusting the balloon size according to this value.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-21 05:39:59 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description langfang 2012-07-11 01:46:13 EDT
Description of problem:

change the win2003 guest balloon size,then reboot guest,the balloon size  restore the original value.

Version-Release number of selected component (if applicable):
# uname -r
2.6.32-272.el6.x86_64

# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.295.el6.x86_64

virtio-win:  virtio-win-prewhql-0.1-30


How reproducible:
60%

Steps to Reproduce:
1.boot windows2003 guest 
2.(qemu) balloon 800
(qemu) info balloon
balloon: actual=940
(qemu) info balloon
balloon: actual=840
(qemu) info balloon
balloon: actual=800
(qemu) info balloon
balloon: actual=800
(qemu) info balloon
balloon: actual=800

3.(qemu) system_reset
4.after guest boot up

(qemu) info balloon
balloon: actual=2048
(qemu) info balloon
balloon: actual=2048
(qemu) info balloon
balloon: actual=2048
(qemu) info balloon
balloon: actual=2048


  
Actual results:

the balloon size restore the original value 
 
Expected results:
the balloon size shoud be the same as the changed value

Additional info:when upgrate the balloon driver ,can also hit the problem.

when i use 'virtio-win-1.4.0-1.el6.noarch' update balloon driver-->then change balloon size from 2048 to 2000-->update balloon driver use 'virtio-win-prewhql-0.1-30' --->reboot guest--->balloon size change to 2048.
Comment 2 langfang 2012-07-11 02:30:12 EDT
another addinfo:

test this  with  version 'virtio-win-1.4.0-1.el6.noarch'
not hit this issue.maybe is a regression problem.
Comment 4 Vadim Rozenfeld 2012-07-11 03:11:48 EDT
(In reply to comment #0)
> Description of problem:
> 
> change the win2003 guest balloon size,then reboot guest,the balloon size 
> restore the original value.
> 
> Version-Release number of selected component (if applicable):
> # uname -r
> 2.6.32-272.el6.x86_64
> 
> # rpm -q qemu-kvm
> qemu-kvm-0.12.1.2-2.295.el6.x86_64
> 
> virtio-win:  virtio-win-prewhql-0.1-30
> 
> 
> How reproducible:
> 60%
> 
> Steps to Reproduce:
> 1.boot windows2003 guest 
> 2.(qemu) balloon 800
> (qemu) info balloon
> balloon: actual=940
> (qemu) info balloon
> balloon: actual=840
> (qemu) info balloon
> balloon: actual=800
> (qemu) info balloon
> balloon: actual=800
> (qemu) info balloon
> balloon: actual=800
> 
> 3.(qemu) system_reset

So it was restart not reboot, correct?
Could you please check if Windows balloon
behaves differently from Linux on this scenario?

Thank you,
Vadim.

> 4.after guest boot up
> 
> (qemu) info balloon
> balloon: actual=2048
> (qemu) info balloon
> balloon: actual=2048
> (qemu) info balloon
> balloon: actual=2048
> (qemu) info balloon
> balloon: actual=2048
> 
> 
>   
> Actual results:
> 
> the balloon size restore the original value 
>  
> Expected results:
> the balloon size shoud be the same as the changed value
> 
> Additional info:when upgrate the balloon driver ,can also hit the problem.
> 
> when i use 'virtio-win-1.4.0-1.el6.noarch' update balloon driver-->then
> change balloon size from 2048 to 2000-->update balloon driver use
> 'virtio-win-prewhql-0.1-30' --->reboot guest--->balloon size change to 2048.
Comment 5 langfang 2012-07-11 23:25:36 EDT
(In reply to comment #4)
> (In reply to comment #0)
> > Description of problem:
> > 
> > change the win2003 guest balloon size,then reboot guest,the balloon size 
> > restore the original value.
> > 
> > Version-Release number of selected component (if applicable):
> > # uname -r
> > 2.6.32-272.el6.x86_64
> > 
> > # rpm -q qemu-kvm
> > qemu-kvm-0.12.1.2-2.295.el6.x86_64
> > 
> > virtio-win:  virtio-win-prewhql-0.1-30
> > 
> > 
> > How reproducible:
> > 60%
> > 
> > Steps to Reproduce:
> > 1.boot windows2003 guest 
> > 2.(qemu) balloon 800
> > (qemu) info balloon
> > balloon: actual=940
> > (qemu) info balloon
> > balloon: actual=840
> > (qemu) info balloon
> > balloon: actual=800
> > (qemu) info balloon
> > balloon: actual=800
> > (qemu) info balloon
> > balloon: actual=800
> > 
> > 3.(qemu) system_reset
> 
> So it was restart not reboot, correct?
> Could you please check if Windows balloon
> behaves differently from Linux on this scenario?
> 
> Thank you,
> Vadim.

hi! Vadim
 i both 'used (qemu) system_reset' and 'reboot' to test this issue.
both hit this probelm.
Comment 6 langfang 2012-07-11 23:37:46 EDT
test 2 senarios for this bug.
version:
host:
# uname -r
2.6.32-285.el6.x86_64

# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.295.el6.x86_64

senario 1)

guest: kernel:2.6.32-285.el6.x86_64

test on rhel6.3 guest five times for this senario

boot rhel6.3 guest-->change balloon size ---> reboot guest --->the balloon size changed to the correct value.


senario 2)

guest:kernel 2.6.18-325.el5

test on rhel5.8 guest 

boot rhel5.8 guest--->change balloon size--->reboot guest ---> the balloon size changed to the correct value .
  

addinfo,
1)all the tests both use '(qemu)system_reset' and 'reboot' guest to test.
2)test win2008r2-64 guest five times ,three times can hit this probelm.
Comment 7 dawu 2012-07-29 23:20:01 EDT
Also hit the similar issue on win2k8-64 after resume from S3, following is the details:

kernel-2.6.32-279.el6.x86_64
qemu-kvm-0.12.1.2-2.295.el6.x86_64
virtio-win-prewhql-30

Steps:

1. Start guest with CLI:
   /usr/libexec/qemu-kvm -m 7G -smp 3 -cpu Penryn,+x2apic -usb -device usb-tablet -drive file=win2k8-64-killed.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup0 -device e1000,netdev=hostnet0,mac=90:10:1a:75:50:03,bus=pci.0,addr=0x4 -uuid ee19a2c1-ecf0-4073-bcf0-08304313f391 -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name win2k8-64-fun -spice disable-ticketing,port=5931 -vga qxl -bios /usr/share/seabios/bios-pm.bin -device virtio-balloon-pci,addr=0x6,bus=pci.0,id=balloon1 -chardev socket,id=111a,path=/tmp/monitor-win2k8-64-balloon-30,server,nowait -mon chardev=111a,mode=readline

2. evict memory:
(qemu) balloon 1024
(qemu) info balloon
balloon: actual=1024

3. sleep guest

4. Wake up guest and check the memory:
(qemu) info balloon
balloon: actual=7168

Actually result:
Memory come back to the Max value 7168M instead of 1024M.

Best Regards,
Dawn
Comment 8 Ronen Hod 2012-09-02 07:09:56 EDT
Postponed to RHEL6.5, due to capacity constraints, and under the assumption that no customer is using virtio-win ballooning.
Comment 10 Min Deng 2012-09-13 04:06:51 EDT
Verified the bug on virtio-win-prewhql-0.1-35
Reproduced the issue on virtio-win-prewhql-0.1-30

steps,
1.start guest,
/usr/libexec/qemu-kvm -m 7G -smp 3 -cpu Penryn,+x2apic -usb -device usb-tablet -drive file=win2k3-64.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,mac=90:10:1a:75:50:03,bus=pci.0,addr=0x4 -uuid `uuidgen` -rtc base=localtime -no-kvm-pit-reinjection -monitor stdio -name 2k3 -spice disable-ticketing,port=5931 -vga qxl -bios /usr/share/seabios/bios-pm.bin -device virtio-balloon-pci,addr=0x6,bus=pci.0,id=balloon1 -chardev socket,id=111a,path=/tmp/monitor-win2k3-64-balloon-30,server,nowait -mon chardev=111a,mode=readline
2. evict memory:
(qemu) balloon 1024
(qemu) info balloon
3. sleep&wake guest or reboot guest

Expected results,the balloon value is 1024 
Actual   results,the balloon value is 1024

So,the bug has been fixed on virtio-win-prewhql-0.1-35,thanks.
Comment 11 errata-xmlrpc 2013-02-21 05:39:59 EST
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-0441.html

Note You need to log in before you can comment on or make changes to this bug.