memory: add support getting and using a dirty bitmap copy.
commit8deaf12ca1a7c89867df739dc9056080509628bd
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 21 Apr 2017 09:16:25 +0000 (21 11:16 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 24 Apr 2017 08:12:28 +0000 (24 10:12 +0200)
treef7bae444ae09a9ed1fe4374c7d91b614529bcb13
parentd6eb1413920affb7be3df9982682dd183a805dd7
memory: add support getting and using a dirty bitmap copy.

This patch adds support for getting and using a local copy of the dirty
bitmap.

memory_region_snapshot_and_clear_dirty() will create a snapshot of the
dirty bitmap for the specified range, clear the dirty bitmap and return
the copy.  The returned bitmap can be a bit larger than requested, the
range is expanded so the code can copy unsigned longs from the bitmap
and avoid atomic bit update operations.

memory_region_snapshot_get_dirty() will return the dirty status of
pages, pretty much like memory_region_get_dirty(), but using the copy
returned by memory_region_copy_and_clear_dirty().

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20170421091632.30900-3-kraxel@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
exec.c
include/exec/memory.h
include/exec/ram_addr.h
include/qemu/typedefs.h
memory.c