[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 20/29] exec: invert return value of cpu_physical_
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v3 20/29] exec: invert return value of cpu_physical_memory_get_clean, rename |
Date: |
Tue, 26 May 2015 18:54:56 +0200 |
While it is obvious that cpu_physical_memory_get_dirty returns true even if
a single page is dirty, the same is not true for cpu_physical_memory_get_clean;
one would expect that it returns true only if all the pages are clean, but
it actually looks for even one clean page. (By contrast, the caller of that
function, cpu_physical_memory_range_includes_clean, has a good name).
To clarify, rename the function to cpu_physical_memory_all_dirty and return
true if _all_ the pages are dirty. This is the opposite of the previous
meaning, because "all are 1" is the same as "not (any is 0)", so we have to
modify cpu_physical_memory_range_includes_clean as well.
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
include/exec/ram_addr.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index b0ea03f..4e3b081 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -59,7 +59,7 @@ static inline bool cpu_physical_memory_get_dirty(ram_addr_t
start,
return next < end;
}
-static inline bool cpu_physical_memory_get_clean(ram_addr_t start,
+static inline bool cpu_physical_memory_all_dirty(ram_addr_t start,
ram_addr_t length,
unsigned client)
{
@@ -71,7 +71,7 @@ static inline bool cpu_physical_memory_get_clean(ram_addr_t
start,
page = start >> TARGET_PAGE_BITS;
next = find_next_zero_bit(ram_list.dirty_memory[client], end, page);
- return next < end;
+ return next >= end;
}
static inline bool cpu_physical_memory_get_dirty_flag(ram_addr_t addr,
@@ -92,10 +92,10 @@ static inline bool cpu_physical_memory_is_clean(ram_addr_t
addr)
static inline bool cpu_physical_memory_range_includes_clean(ram_addr_t start,
ram_addr_t length)
{
- bool vga = cpu_physical_memory_get_clean(start, length, DIRTY_MEMORY_VGA);
- bool code = cpu_physical_memory_get_clean(start, length,
DIRTY_MEMORY_CODE);
+ bool vga = !cpu_physical_memory_all_dirty(start, length, DIRTY_MEMORY_VGA);
+ bool code = !cpu_physical_memory_all_dirty(start, length,
DIRTY_MEMORY_CODE);
bool migration =
- cpu_physical_memory_get_clean(start, length, DIRTY_MEMORY_MIGRATION);
+ !cpu_physical_memory_all_dirty(start, length, DIRTY_MEMORY_MIGRATION);
return vga || code || migration;
}
--
1.8.3.1
- [Qemu-devel] [PATCH v3 00/29] Dirty bitmap atomic access and optimizations, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 02/29] g364fb: remove pointless call to memory_region_set_coalescing, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 01/29] memory: the only dirty memory flag for users is DIRTY_MEMORY_VGA, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 03/29] display: enable DIRTY_MEMORY_VGA tracking explicitly, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 18/29] translate-all: make less of tb_invalidate_phys_page_range depend on is_cpu_write_access, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 20/29] exec: invert return value of cpu_physical_memory_get_clean, rename,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v3 10/29] kvm: accept non-mapped memory in kvm_dirty_pages_log_change, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 13/29] ram_addr: tweaks to xen_modified_memory, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 09/29] memory: track DIRTY_MEMORY_CODE in mr->dirty_log_mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 22/29] memory: do not touch code dirty bitmap unless TCG is enabled, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 05/29] memory: differentiate memory_region_is_logging and memory_region_get_dirty_log_mask, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 04/29] display: add memory_region_sync_dirty_bitmap calls, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 15/29] exec: move functions to translate-all.h, Paolo Bonzini, 2015/05/26
- [Qemu-devel] [PATCH v3 23/29] bitmap: add atomic set functions, Paolo Bonzini, 2015/05/26