[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/22] exec: simplify notdirty_mem_write
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 11/22] exec: simplify notdirty_mem_write |
Date: |
Thu, 26 Mar 2015 18:38:29 +0100 |
The function has just set two dirty bits and invalidated code, thus
cpu_physical_memory_is_clean cannot return true here.
Signed-off-by: Paolo Bonzini <address@hidden>
---
exec.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/exec.c b/exec.c
index ffa57dd..56fd0f5 100644
--- a/exec.c
+++ b/exec.c
@@ -1810,6 +1810,7 @@ found:
static void notdirty_mem_write(void *opaque, hwaddr ram_addr,
uint64_t val, unsigned size)
{
+ CPUArchState *env = current_cpu->env_ptr;
if (!cpu_physical_memory_get_dirty_flag(ram_addr, DIRTY_MEMORY_CODE)) {
tb_invalidate_phys_page_fast(ram_addr, size);
}
@@ -1827,12 +1828,7 @@ static void notdirty_mem_write(void *opaque, hwaddr
ram_addr,
abort();
}
cpu_physical_memory_set_dirty_range_nocode(ram_addr, size);
- /* we remove the notdirty callback only if the code has been
- flushed */
- if (!cpu_physical_memory_is_clean(ram_addr)) {
- CPUArchState *env = current_cpu->env_ptr;
- tlb_set_dirty(env, current_cpu->mem_io_vaddr);
- }
+ tlb_set_dirty(env, current_cpu->mem_io_vaddr);
}
static bool notdirty_mem_accepts(void *opaque, hwaddr addr,
--
2.3.3
- [Qemu-devel] [PATCH 07/22] ui/console: check memory_region_is_logging, (continued)
- [Qemu-devel] [PATCH 07/22] ui/console: check memory_region_is_logging, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 05/22] memory: return bitmap from memory_region_is_logging, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 09/22] memory: return DIRTY_MEMORY_MIGRATION from memory_region_is_logging, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 12/22] exec: use memory_region_is_logging to optimize dirty tracking, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 06/22] framebuffer: check memory_region_is_logging, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 10/22] ram_addr: tweaks to xen_modified_memory, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 08/22] memory: track DIRTY_MEMORY_CODE in mr->dirty_log_mask, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 13/22] exec: pass client mask to cpu_physical_memory_set_dirty_range, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 11/22] exec: simplify notdirty_mem_write,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 14/22] exec: only check relevant bitmaps for cleanliness, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 15/22] memory: do not touch code dirty bitmap unless TCG is enabled, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 17/22] bitmap: add atomic test and clear, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 18/22] memory: use atomic ops for setting dirty memory bits, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 16/22] bitmap: add atomic set functions, Paolo Bonzini, 2015/03/26
- [Qemu-devel] [PATCH 19/22] migration: move dirty bitmap sync to ram_addr.h, Paolo Bonzini, 2015/03/26