Merge "libvirt: Enable autodeflate and freePageReporting for memballoon"
This commit is contained in:
2
nova/tests/fixtures/libvirt_data.py
vendored
2
nova/tests/fixtures/libvirt_data.py
vendored
@@ -229,7 +229,7 @@ FAKE_KVM_GUEST = """
|
||||
<model type='virtio'/>
|
||||
<source bridge='virbr0'/>
|
||||
</interface>
|
||||
<memballoon model='virtio'>
|
||||
<memballoon model='virtio' autodeflate='on' freePageReporting='on'>
|
||||
<stats period='11'/>
|
||||
</memballoon>
|
||||
<input type="mouse" bus="virtio"/>
|
||||
|
@@ -4247,7 +4247,7 @@ class LibvirtConfigMemoryBalloonTest(LibvirtConfigBaseTest):
|
||||
|
||||
xml = balloon.to_xml()
|
||||
expected_xml = """
|
||||
<memballoon model='virtio'>
|
||||
<memballoon model='virtio' autodeflate='on' freePageReporting='on'>
|
||||
<stats period='11'/>
|
||||
</memballoon>"""
|
||||
|
||||
@@ -4259,7 +4259,8 @@ class LibvirtConfigMemoryBalloonTest(LibvirtConfigBaseTest):
|
||||
|
||||
xml = balloon.to_xml()
|
||||
expected_xml = """
|
||||
<memballoon model='virtio' />"""
|
||||
<memballoon model='virtio' autodeflate='on'
|
||||
freePageReporting='on' />"""
|
||||
|
||||
self.assertXmlEqual(expected_xml, xml)
|
||||
|
||||
@@ -4272,7 +4273,7 @@ class LibvirtConfigMemoryBalloonTest(LibvirtConfigBaseTest):
|
||||
|
||||
xml = balloon.to_xml()
|
||||
expected_xml = """
|
||||
<memballoon model='virtio'>
|
||||
<memballoon model='virtio' autodeflate='on' freePageReporting='on'>
|
||||
<driver iommu="on" />
|
||||
</memballoon>"""
|
||||
|
||||
|
@@ -2302,6 +2302,8 @@ class LibvirtConfigMemoryBalloon(LibvirtConfigGuestDevice):
|
||||
def format_dom(self):
|
||||
dev = super(LibvirtConfigMemoryBalloon, self).format_dom()
|
||||
dev.set('model', str(self.model))
|
||||
dev.set('autodeflate', 'on')
|
||||
dev.set('freePageReporting', 'on')
|
||||
if self.period is not None:
|
||||
dev.append(etree.Element('stats', period=str(self.period)))
|
||||
if self.driver_iommu:
|
||||
|
@@ -0,0 +1,11 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The libvirt driver now automatically enables ``autodeflate`` and
|
||||
``freePageReporting`` features for virtio memory balloon devices.
|
||||
The ``autodeflate`` feature allows the QEMU virtio memory balloon
|
||||
to release memory at the last moment before a guest process is
|
||||
killed by the Out of Memory killer. The ``freePageReporting``
|
||||
feature enables the memory balloon to return unused pages back
|
||||
to the hypervisor for use by other guests or processes, improving
|
||||
overall memory efficiency on the compute host.
|
Reference in New Issue
Block a user