Commit Graph

4 Commits

Author SHA1 Message Date
Zack Cornelius b1fdb2ee0c Fix nits from change Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Change-Id: I05f0791d41c65115c9153f301b387dfdf9065007
Implements: blueprint libvirt-file-backed-memory
2018-06-21 17:43:05 -05:00
Zack Cornelius e9683f1432 Implement discard for file backed memory
Add the discard flag to libvirt XML when supported by libvirt and qemu,
and when using file backed memory.

The discard flag causes qemu to discard allocated memory via calling
madvise with MADV_REMOVE when using file backed memory, to prevent
writing out dirty instance memory. This is a significant performance
improvement for shutting down instances that have recently written to
significant portions of their memory.

As qemu and libvirt do not guarantee the discard is run, this cannot be
used for security purposes.

Change-Id: Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:45:31 -05:00
Zack Cornelius 8566dcfef4 Fix nits from change I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Change-Id: If6ea6701d73a4a8abb6a75c54308a386eec7a4b2
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:13:44 -05:00
Zack Cornelius cbc28f0d15 Implement file backed memory for instances in libvirt
File backed memory is enabled per Nova compute host. When enabled, host
will report 'file_backed_memory_capacity' for available memory.

When enabled, instances will create memory backing files in the
directory specified in libvirt's qemu.conf file 'memory_backing_dir'
config option.

This feature is not compatible with memory overcommit, and requires
'ram_allocation_ratio' to be set to 1.0

Change-Id: I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Implements: blueprint libvirt-file-backed-memory
2018-06-20 11:25:06 -05:00