memory: Introduce log_sync_global() to memory listener
authorPeter Xu <peterx@redhat.com>
Thu, 6 May 2021 16:05:40 +0000 (12:05 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 May 2021 12:49:45 +0000 (14:49 +0200)
commitb87eaa9b8237f4d97950ca0f78309407212cfdc5
treeaa5b94543d0a1f7cf71303eb94beeac3a6e8a216
parent70cbae429ef3a7c36facd418da2c00e01ae51cb7
memory: Introduce log_sync_global() to memory listener

Some of the memory listener may want to do log synchronization without
being able to specify a range of memory to sync but always globally.
Such a memory listener should provide this new method instead of the
log_sync() method.

Obviously we can also achieve similar thing when we put the global
sync logic into a log_sync() handler. However that's not efficient
enough because otherwise memory_global_dirty_log_sync() may do the
global sync N times, where N is the number of flat ranges in the
address space.

Make this new method be exclusive to log_sync().

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210506160549.130416-2-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/exec/memory.h
softmmu/memory.c