All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3] hostmem-file: Add "discard-data" option
@ 2017-08-24 19:23 Eduardo Habkost
  2017-08-24 19:23 ` [Qemu-devel] [PATCH v2 1/3] vl: Clean up user-creatable objects when exiting Eduardo Habkost
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Eduardo Habkost @ 2017-08-24 19:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: Dr. David Alan Gilbert, Zack Cornelius, Paolo Bonzini,
	Daniel P. Berrange, Igor Mammedov

This series adds a new "discard-data" option to
memory-backend-file.  The new option will be useful if somebody
is sharing RAM contents on a pre-existing file using share=on,
but don't need data to be flushed to disk when QEMU exits.

Internally, it will trigger a madvise(MADV_REMOVE) call when the
memory backend is removed or when QEMU exits.

To make we actually trigger the new code when QEMU exits, the
first patch in the series ensures we destroy all user-created
objects when exiting QEMU.

Changes v1 -> v2:
* Original subject line of v1 was:
  '[PATCH 0/5] hostmem-file: Add "persistent" option'
* Replaced 'persistent=no' with 'discard-data=yes', to make it
  clear that the flag will destroy data on the backing file.
* Use qemu_madvise() instead of madvise()
  * New patch added to series: "osdep: define QEMU_MADV_REMOVE"
* Call qemu_madvise() directly from the backend unparent()
  method, insteead of adding a new flag to the memory API and
  reusing ram_block_discard_range()
  * In addition to simplifying the code a lot, this fixes a bug,
    because v1 relied on getting the memory region reference
    count back to 0, which doesn't happen when QEMU is exiting
    because there's no machine cleanup code to ensure that.

Eduardo Habkost (3):
  vl: Clean up user-creatable objects when exiting
  osdep: Define QEMU_MADV_REMOVE
  hostmem-file: Add "discard-data" option

 include/qemu/osdep.h            |  7 +++++++
 include/qom/object_interfaces.h |  8 ++++++++
 backends/hostmem-file.c         | 29 +++++++++++++++++++++++++++++
 qom/object_interfaces.c         |  5 +++++
 vl.c                            |  1 +
 qemu-options.hx                 |  5 ++++-
 6 files changed, 54 insertions(+), 1 deletion(-)

-- 
2.9.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-09-14 19:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-24 19:23 [Qemu-devel] [PATCH v2 0/3] hostmem-file: Add "discard-data" option Eduardo Habkost
2017-08-24 19:23 ` [Qemu-devel] [PATCH v2 1/3] vl: Clean up user-creatable objects when exiting Eduardo Habkost
2017-08-25 12:08   ` Philippe Mathieu-Daudé
2017-08-24 19:23 ` [Qemu-devel] [PATCH v2 2/3] osdep: Define QEMU_MADV_REMOVE Eduardo Habkost
2017-08-25 15:02   ` Dr. David Alan Gilbert
2017-08-24 19:23 ` [Qemu-devel] [PATCH v2 3/3] hostmem-file: Add "discard-data" option Eduardo Habkost
2017-08-29 11:13   ` Daniel P. Berrange
2017-08-29 13:12     ` Eduardo Habkost
2017-08-29 21:36       ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
2017-08-30 10:15         ` Daniel P. Berrange
2017-09-04 16:56 ` [Qemu-devel] [PATCH v2 0/3] " Zack Cornelius
2017-09-14 19:35 ` Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.