From: bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Date: Sun, 21 Aug 2005 19:15:23 +0000 (+0000)
Subject: kqemu_set_notdirty() opt
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fc8dc06020f91d29754b5982bca22097ff60ce19;p=qemu.git

kqemu_set_notdirty() opt


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1560 c046a42c-6fe2-441c-8c8c-71466251a162
---

diff --git a/kqemu.c b/kqemu.c
index 9a0f05b171..5b750edd22 100644
--- a/kqemu.c
+++ b/kqemu.c
@@ -237,6 +237,9 @@ void kqemu_set_notdirty(CPUState *env, ram_addr_t ram_addr)
         fprintf(logfile, "kqemu_set_notdirty: addr=%08lx\n", ram_addr);
     }
 #endif
+    /* we only track transitions to dirty state */
+    if (phys_ram_dirty[ram_addr >> TARGET_PAGE_BITS] != 0xff)
+        return;
     if (nb_ram_pages_to_update >= KQEMU_MAX_RAM_PAGES_TO_UPDATE)
         nb_ram_pages_to_update = KQEMU_RAM_PAGES_UPDATE_ALL;
     else