Hey, This tiny series changes the tracepoint to include the number of dirty pages via the vfio_get_dirty_bitmap. I find it useful for observability in general to understand the number of dirty pages in an IOVA range. With dirty tracking supported by device or IOMMU it's specially relevant data to include in the tracepoint.
First patch changes the return value to be the number of dirty pages in the helper function setting dirty bits and the second patch expands the VFIO tracepoint to include the dirty pages. Thanks, Joao Changes since v2[2]: * Add a comment explaining the difference of retval between cpu_physical_memory_set_dirty_lebitmap() and cpu_physical_memory_sync_dirty_bitmap() (Peter Xu) * Add Peter's Reviewed-by; * Rename dirty variable into dirty_pages (Philippe Mathieu-Daude) Changes since v1[1]: * Make the nr of dirty pages a retval similar to sync variant of helper in patch 1 (Cedric) * Stash number of bits set in bitmap quad in a variable and reuse in GLOBAL_DIRTY_RATE in patch 1 * Drop init to 0 given that we always initialize the @dirty used in the tracepoint [1] https://lore.kernel.org/qemu-devel/20230523151217.46427-1-joao.m.mart...@oracle.com/ [2] https://lore.kernel.org/qemu-devel/20230525114321.71066-1-joao.m.mart...@oracle.com/ Joao Martins (2): exec/ram_addr: return nr of dirty pages in cpu_physical_memory_set_dirty_lebitmap() hw/vfio: Add nr of dirty pages to vfio_get_dirty_bitmap tracepoint hw/vfio/common.c | 7 ++++--- hw/vfio/trace-events | 2 +- include/exec/ram_addr.h | 28 ++++++++++++++++++++++------ 3 files changed, 27 insertions(+), 10 deletions(-) -- 2.39.3