exec: only check relevant bitmaps for cleanliness
commite87f7778b64d4a6a78e16c288c7fdc6c15317d5f
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 25 Mar 2015 14:21:39 +0000 (25 15:21 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 Jun 2015 15:10:00 +0000 (5 17:10 +0200)
treed246cf453fbddd2831d628f4217a34e65f9274fc
parent72b47e79cef36ed6ffc718f10e21001d7ec2a66f
exec: only check relevant bitmaps for cleanliness

Most of the time, not all bitmaps have to be marked as dirty;
do not do anything if the interesting ones are already dirty.
Previously, any clean bitmap would have cause all the bitmaps to be
marked dirty.

In fact, unless running TCG most of the time bitmap operations need
not be done at all, because memory_region_is_logging returns zero.
In this case, skip the call to cpu_physical_memory_range_includes_clean
altogether as well.

With this patch, cpu_physical_memory_set_dirty_range is called
unconditionally, so there need not be anymore a separate call to
xen_modified_memory.

Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c
include/exec/ram_addr.h