libvirt/tests
Michal Privoznik 2c4affd57e qemu: Implement memoryBacking/discard
https://bugzilla.redhat.com/show_bug.cgi?id=1480668

QEMU has this new feature memory-backend-file.discard-data=yes
which is a nifty optimization. Basically, when qemu is quitting
or on memory hotplug it calls munmap() and close() on the file
that is backing the memory. However, this does not mean kernel
won't stop touching that part of memory. It still might. With
this feature enabled we tell kernel: "we don't need this memory
nor data stored in it". This makes kernel drop the memory
immediately without trying to sync memory with the mapped file.

Unfortunately, this cannot be turned on by default because we
can't be sure when users really don't care about what happens to
data after qemu dies. So it has to be opt-in. As usual, there are
three places where one can configure memory attributes. This
patch adds the feature to all of them.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2018-05-14 09:42:21 +02:00
..
bhyveargv2xmldata bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2argvdata bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2xmloutdata bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
capabilityschemadata
commanddata tests: fix typo 2017-11-20 13:22:48 +01:00
cputestdata cputest: New test for Intel Core i5-650 2018-04-18 11:39:53 +02:00
domaincapsschemadata tests: domaincapstest: Fix after iothreads addition 2018-05-03 17:34:41 -04:00
domainconfdata
domainschemadata
domainsnapshotxml2xmlin
domainsnapshotxml2xmlout
fchostdata/fc_host
genericxml2xmlindata
genericxml2xmloutdata
interfaceschemadata
libxlxml2domconfigdata tests: check CPU features handling in libxl driver 2018-04-17 21:15:27 -06:00
lxcconf2xmldata
lxcxml2xmldata
lxcxml2xmloutdata
networkxml2confdata
networkxml2firewalldata
networkxml2xmlin
networkxml2xmlout
networkxml2xmlupdatein
networkxml2xmlupdateout
nodedevschemadata
nssdata
nwfilterxml2firewalldata
nwfilterxml2xmlin
nwfilterxml2xmlout
qemuagentdata
qemuargv2xmldata
qemublocktestdata/xml2json tests: qemublock: Test handling of block devices 2018-05-07 16:12:01 +02:00
qemucapabilitiesdata qemu_capabilities: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD 2018-05-14 09:42:20 +02:00
qemucaps2xmldata
qemuhotplugtestcpus
qemuhotplugtestdevices
qemuhotplugtestdomains
qemumemlockdata
qemumigparamsdata qemumigparamstest: Add test data for TLS parameters 2018-04-17 10:46:23 +02:00
qemumonitorjsondata tests: add testcase for s390 query-cpus-fast 2018-04-17 12:45:26 -04:00
qemustatusxml2xmldata qemu: domain: Format storage source node names into private data 2018-05-07 14:45:11 +02:00
qemuxml2argvdata qemu: Implement memoryBacking/discard 2018-05-14 09:42:21 +02:00
qemuxml2startupxmloutdata
qemuxml2xmloutdata conf: Introduce memoryBacking/discard 2018-05-14 09:42:20 +02:00
secretxml2xmlin
securityselinuxhelperdata
securityselinuxlabeldata
sexpr2xmldata tests: Xen: use qemu-system-i386 for emulator 2018-04-20 10:41:07 -06:00
storagepoolschemadata
storagepoolxml2xmlin
storagepoolxml2xmlout
storagevolschemadata
storagevolxml2argvdata tests: assume FMT_COMPAT for qemu-img tests 2018-05-07 10:21:59 +02:00
storagevolxml2xmlin
storagevolxml2xmlout
sysinfodata
vboxsnapshotxmldata
vircaps2xmldata tests: Clean up and modify some vircaps2xmldata 2018-01-25 17:16:08 +01:00
vircgroupdata
virconfdata
virfilecachedata
virfiledata
virhostcpudata
virjsondata
virmacmaptestdata
virnetdaemondata
virnetdevtestdata/sys/class/net
virpcitestdata
virresctrldata
virscsidata
virstorageutildata
virusbtestdata/sys_bus_usb/devices
vmwareverdata
vmx2xmldata vmx: convert cpuid.coresPerSocket for CPU topology 2018-04-20 09:09:29 +02:00
xlconfigdata tests: add test case for CPUID in xenconfig driver 2018-04-17 21:15:27 -06:00
xmconfigdata tests: Xen: use qemu-system-i386 for emulator 2018-04-20 10:41:07 -06:00
xml2sexprdata
xml2vmxdata vmx: write cpuid.coresPerSocket back from CPU topology 2018-04-20 09:11:01 +02:00
.valgrind.supp
bhyveargv2xmlmock.c
bhyveargv2xmltest.c bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2argvmock.c
bhyvexml2argvtest.c bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2xmltest.c bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
check-file-access.pl
commandhelper.c tests: Return failure if log not fopen'd 2018-04-19 14:24:12 -04:00
commandtest.c
cputest.c cputest: New test for Intel Core i5-650 2018-04-18 11:39:53 +02:00
domaincapsmock.c
domaincapstest.c
domainconftest.c
domainsnapshotxml2xmltest.c
esxutilstest.c
eventtest.c
fchosttest.c
fdstreamtest.c
file_access_whitelist.txt
genericxml2xmltest.c
group-qemu-caps.pl syntax-check: pass srcdir to group-qemu-caps.pl 2018-04-26 13:39:10 +02:00
interfacexml2xmltest.c
libvirtd-fail
libvirtd-pool
libxlxml2domconfigtest.c tests: unlink libxl-driver.log 2018-05-03 14:26:08 +01:00
lxcconf2xmltest.c
lxcxml2xmltest.c
Makefile.am tests: qemublock: Add testing of blockdev JSON property generator 2018-05-07 15:48:10 +02:00
metadatatest.c
networkxml2conftest.c
networkxml2firewalltest.c
networkxml2xmltest.c
networkxml2xmlupdatetest.c
nodedevxml2xmltest.c
nsslinktest.c
nssmock.c tests: Fix mode_t usage with va_arg() 2018-05-03 18:23:30 +02:00
nsstest.c
nwfilterebiptablestest.c
nwfilterxml2firewalltest.c nwfilter: remove virNWFilterHashTable typedefs entirely 2018-05-03 17:00:57 +01:00
nwfilterxml2xmltest.c
objecteventtest.c
objectlocking.ml
oomtrace.pl
openvzutilstest.c
openvzutilstest.conf
pkix_asn1_tab.c
qemuagenttest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemuargv2xmltest.c
qemublocktest.c tests: qemublock: Test handling of block devices 2018-05-07 16:12:01 +02:00
qemucapabilitiestest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemucaps2xmlmock.c
qemucaps2xmltest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemucapsfixreplies
qemucapsprobe.c
qemucapsprobemock.c
qemucommandutiltest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemucpumock.c
qemuhotplugtest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemumemlocktest.c
qemumigparamstest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemumonitorjsontest.c tests: replace references to yajl 2018-05-11 13:28:35 +02:00
qemumonitortest.c
qemumonitortestutils.c tests: add qemumonitorjson tests for query-cpus-fast 2018-04-17 12:45:26 -04:00
qemumonitortestutils.h tests: add qemumonitorjson tests for query-cpus-fast 2018-04-17 12:45:26 -04:00
qemuqapischema.json
qemuxml2argvmock.c tests: Extend NUMA mocking 2018-05-03 18:23:30 +02:00
qemuxml2argvtest.c qemu: Implement memoryBacking/discard 2018-05-14 09:42:21 +02:00
qemuxml2xmltest.c virstoragefile: Introduce virStoragePRDef 2018-05-11 09:02:56 +02:00
scsihosttest.c
seclabeltest.c
secretxml2xmltest.c
securityselinuxhelper.c
securityselinuxlabeltest.c
securityselinuxtest.c
sexpr2xmltest.c
shunloadhelper.c
shunloadtest.c
sockettest.c
ssh.c
storagebackendsheepdogtest.c
storagepoolxml2xmltest.c
storagevolxml2argvtest.c storage: remove qemu-img help scraping 2018-05-07 10:23:20 +02:00
storagevolxml2xmltest.c
sysinfotest.c
test-lib.sh
test-wrap-argv.pl
testutils.c tests: Create full host NUMA topology in more cases 2018-04-19 17:57:52 +02:00
testutils.h tests: Create full host NUMA topology in more cases 2018-04-19 17:57:52 +02:00
testutilshostcpus.h
testutilslxc.c
testutilslxc.h
testutilsqemu.c tests: Create full host NUMA topology in more cases 2018-04-19 17:57:52 +02:00
testutilsqemu.h tests: qemu: Add helper code to lookup latest capability file 2018-04-19 11:20:34 +02:00
testutilsqemuschema.c util: Clean up consumers of virJSONValueArraySize 2018-05-10 14:59:15 -04:00
testutilsqemuschema.h
testutilsxen.c Remove xencaps tests and data files 2018-04-09 11:37:15 -06:00
testutilsxen.h
utiltest.c
vboxsnapshotxmltest.c
viralloctest.c
viratomictest.c
virauthconfigtest.c
virbitmaptest.c
virbuftest.c
vircaps2xmltest.c build: Fix make dist 2017-11-22 11:27:40 +01:00
vircapstest.c tests: Create full host NUMA topology in more cases 2018-04-19 17:57:52 +02:00
vircgroupmock.c tests: Fix mode_t usage with va_arg() 2018-05-03 18:23:30 +02:00
vircgrouptest.c
virconftest.c
vircryptotest.c
virdbusmock.c
virdbustest.c
virdeterministichashmock.c
virdrivermoduletest.c driver: add option to make missing drivers a fatal problem 2018-04-24 17:01:48 +01:00
virendiantest.c
virfilecachemock.c
virfilecachetest.c virobject: Introduce VIR_CLASS_NEW() macro 2018-04-18 10:04:55 +02:00
virfiletest.c
virfilewrapper.c
virfilewrapper.h
virfirewalltest.c
virhashdata.h
virhashtest.c
virhostcpumock.c
virhostcputest.c
virhostdevtest.c
viridentitytest.c
viriscsitest.c
virjsontest.c
virkeycodetest.c
virkeyfiletest.c
virkmodtest.c
virlockspacetest.c
virlogtest.c
virmacmaptest.c
virmock.h
virmocklibxl.c virmocklibxl.c: Fix include of virfile.h 2018-04-18 09:59:52 +02:00
virnetdaemonmock.c
virnetdaemontest.c
virnetdevbandwidthmock.c
virnetdevbandwidthtest.c
virnetdevmock.c
virnetdevtest.c
virnetmessagetest.c
virnetserverclientmock.c
virnetserverclienttest.c tests: Fix incorrect check for virNetServerClientClose call 2018-04-19 15:03:57 -04:00
virnetsockettest.c
virnettlscontexttest.c
virnettlshelpers.c
virnettlshelpers.h
virnettlssessiontest.c
virnumamock.c virNumaGetHugePageInfo: Return page_avail and page_free as ULL 2018-04-24 11:02:28 +02:00
virpcimock.c tests: Build virpcimock on FreeBSD too 2018-05-03 18:23:30 +02:00
virpcitest.c
virpolkittest.c
virportallocatormock.c
virportallocatortest.c
virrandommock.c
virresctrltest.c
virrotatingfiletest.c
virschematest.c
virscsitest.c
virsh-cpuset
virsh-define-dev-segfault
virsh-int-overflow
virsh-optparse
virsh-read-bufsiz
virsh-read-non-seekable
virsh-schedinfo
virsh-self-test
virsh-start
virsh-undefine
virsh-uriprecedence
virsh-vcpupin tests: consistently source test-lib.sh in scripts 2016-04-23 15:41:40 -04:00
virshtest.c
virstoragetest.c all: Use virFileCanonicalizePath() instead of canonicalize_file_name() 2018-05-03 18:23:30 +02:00
virstorageutiltest.c
virstringtest.c
virsystemdtest.c
virt-aa-helper-test
virt-admin-self-test
virtestmock.c tests: Fix mode_t usage with va_arg() 2018-05-03 18:23:30 +02:00
virtimetest.c
virtypedparamtest.c
viruritest.c
virusbmock.c
virusbtest.c
vmwarevertest.c
vmx2xmltest.c vmx: convert cpuid.coresPerSocket for CPU topology 2018-04-20 09:09:29 +02:00
xlconfigtest.c xenconfig: remove my name and email from files 2018-05-08 13:45:51 +01:00
xmconfigtest.c
xml2sexprtest.c
xml2vmxtest.c vmx: write cpuid.coresPerSocket back from CPU topology 2018-04-20 09:11:01 +02:00