OSDN Git Service

ram: create trace event for migration sync bitmap
authorJuan Quintela <quintela@redhat.com>
Tue, 4 Sep 2012 11:08:57 +0000 (13:08 +0200)
committerJuan Quintela <quintela@redhat.com>
Wed, 17 Oct 2012 16:34:58 +0000 (18:34 +0200)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
arch_init.c
trace-events

index 3a5fecc..cec3ead 100644 (file)
@@ -45,6 +45,7 @@
 #include "hw/pcspk.h"
 #include "qemu/page_cache.h"
 #include "qmp-commands.h"
+#include "trace.h"
 
 #ifdef DEBUG_ARCH_INIT
 #define DPRINTF(fmt, ...) \
@@ -358,7 +359,12 @@ static inline void migration_bitmap_set_dirty(MemoryRegion *mr, int length)
 
 static void migration_bitmap_sync(void)
 {
+    uint64_t num_dirty_pages_init = ram_list.dirty_pages;
+
+    trace_migration_bitmap_sync_start();
     memory_global_sync_dirty_bitmap(get_system_memory());
+    trace_migration_bitmap_sync_end(ram_list.dirty_pages
+                                    - num_dirty_pages_init);
 }
 
 
index 42b66f1..e2d4580 100644 (file)
@@ -921,6 +921,10 @@ ppm_save(const char *filename, void *display_surface) "%s surface=%p"
 savevm_section_start(void) ""
 savevm_section_end(unsigned int section_id) "section_id %u"
 
+# arch_init.c
+migration_bitmap_sync_start(void) ""
+migration_bitmap_sync_end(uint64_t dirty_pages) "dirty_pages %" PRIu64""
+
 # hw/qxl.c
 disable qxl_interface_set_mm_time(int qid, uint32_t mm_time) "%d %d"
 disable qxl_io_write_vga(int qid, const char *mode, uint32_t addr, uint32_t val) "%d %s addr=%u val=%u"