Bug 1578831
Summary: | RFE: Enhance qemu to support freeing memory before exit when using memory-backend-file | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Jaroslav Suchanek <jsuchane> |
Component: | openstack-nova | Assignee: | Sahid Ferdjaoui <sferdjao> |
Status: | CLOSED DUPLICATE | QA Contact: | OSP DFG:Compute <osp-dfg-compute> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 13.0 (Queens) | CC: | ailan, berrange, chayang, dasmith, eglynn, ehabkost, jhakimra, jinzhao, jsuchane, juzhang, kchamart, knoel, lhuang, mbooth, michen, mprivozn, mtessun, plancast, rbalakri, sbauza, sferdjao, sgordon, srevivo, virt-maint, vromanso, xuzhang, yuhuang, zack.cornelius |
Target Milestone: | --- | Keywords: | FutureFeature, Reopened, Upstream |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: | Story Points: | --- | |
Clone Of: | 1480668 | Environment: | |
Last Closed: | 2018-05-31 10:59:07 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: | 1480668, 1541570, 1594272, 1795933 | ||
Bug Blocks: | 1558125 |
Description
Jaroslav Suchanek
2018-05-16 12:52:40 UTC
Would Nova have to do anything to enable this? If so, can you say what? (In reply to Matthew Booth from comment #1) > Would Nova have to do anything to enable this? If so, can you say what? Hi Matt, Near as I see, there is some Nova work to be done here to expose (but Nova shouldn't enable it by default) the just-added libvirt tunable 'discard' for the 'MemoryBacking' element[1]. Broader context: It is related to this in-progress specification: https://review.openstack.org/#/c/563704 -- Libvirt file backed memory FWIW, talking to the libvirt developer Michal Privoznik, he said they have implemented it based on a requirement that came in via OpenStack. What does 'discard' do? From[1]: "When set and supported by hypervisor the memory content is discarded just before guest shuts down (or when DIMM module is unplugged). Please note that this is just an optimization and is not guaranteed to work in all cases (e.g. when hypervisor crashes). Since 4.4.0 (QEMU/KVM only)" In QEMU parlance, libvirt has wired up the following part of the QEMMU command-line "memory-backend-file.discard-data=yes": "The new option can be used to indicate that the file contents can be destroyed and don't need to be flushed to disk when QEMU exits or when the memory backend object is removed." [1] https://libvirt.org/formatdomain.html#elementsMemoryBacking [2] https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg04899.html (In reply to Matthew Booth from comment #1) > Would Nova have to do anything to enable this? If so, can you say what? Kashyap summarized it in comment 2. Thanks! As we don't support memoryBacking at all yet, this is best handled along with that feature. *** This bug has been marked as a duplicate of bug 1541570 *** We do support memory backend in Nova to handle hugepages. discard will will be available for libvirt 4.4.0. We need to understand whether discard attribute is only available for source file or if in future that will be enhanced for all kind of sources. If not we should probably put that BZ dependent of bug 1541570 The blueprint registered on lauchpad. https://blueprints.launchpad.net/nova/+spec/memory-backend-file-discard From Mel in the upstream blueprint: As discussed in the #openstack-nova IRC channel today: because libvirt 4.4.0 is soon to be released (during the rocky cycle), we can just roll the discard change into the original blueprint libvirt-file-backed-memory once libvirt 4.4.0 is available. Just tag the patch with something like "Part of blueprint libvirt-file-backed-memory" when libvirt 4.4.0 is out. -- melwitt 20180530 *** This bug has been marked as a duplicate of bug 1541570 *** |