From: Peter Xu Date: Fri, 13 Jun 2025 14:07:59 +0000 (-0400) Subject: migration/ram: Add tracepoints for ram_save_complete() X-Git-Tag: v10.1.0-rc0~25^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1549da610dc3d37da4de0e3ba7374c5316af716;p=thirdparty%2Fqemu.git migration/ram: Add tracepoints for ram_save_complete() Take notes on start/end state of dirty pages for the whole system. Reviewed-by: Juraj Marcin Link: https://lore.kernel.org/r/20250613140801.474264-10-peterx@redhat.com Signed-off-by: Peter Xu Signed-off-by: Fabiano Rosas --- diff --git a/migration/ram.c b/migration/ram.c index aa76f0a53f..e4871b4c17 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3290,6 +3290,8 @@ static int ram_save_complete(QEMUFile *f, void *opaque) RAMState *rs = *temp; int ret = 0; + trace_ram_save_complete(rs->migration_dirty_pages, 0); + rs->last_stage = !migration_in_colo_state(); WITH_RCU_READ_LOCK_GUARD() { @@ -3353,6 +3355,9 @@ static int ram_save_complete(QEMUFile *f, void *opaque) } qemu_put_be64(f, RAM_SAVE_FLAG_EOS); + + trace_ram_save_complete(rs->migration_dirty_pages, 1); + return qemu_fflush(f); } diff --git a/migration/trace-events b/migration/trace-events index c506e11a2e..dcd8fe9a0c 100644 --- a/migration/trace-events +++ b/migration/trace-events @@ -105,6 +105,7 @@ ram_load_postcopy_loop(int channel, uint64_t addr, int flags) "chan=%d addr=0x%" ram_postcopy_send_discard_bitmap(void) "" ram_save_page(const char *rbname, uint64_t offset, void *host) "%s: offset: 0x%" PRIx64 " host: %p" ram_save_queue_pages(const char *rbname, size_t start, size_t len) "%s: start: 0x%zx len: 0x%zx" +ram_save_complete(uint64_t dirty_pages, int done) "dirty=%" PRIu64 ", done=%d" ram_dirty_bitmap_request(char *str) "%s" ram_dirty_bitmap_reload_begin(char *str) "%s" ram_dirty_bitmap_reload_complete(char *str) "%s"