On 25/05/2023 12:52, Philippe Mathieu-Daudé wrote: > Hi Joao, > > On 25/5/23 13:43, Joao Martins wrote: >> Include the number of dirty pages on the vfio_get_dirty_bitmap tracepoint. >> These are fetched from the newly added return value in >> cpu_physical_memory_set_lebitmap(). >> >> Signed-off-by: Joao Martins <joao.m.mart...@oracle.com> >> --- >> hw/vfio/common.c | 7 ++++--- >> hw/vfio/trace-events | 2 +- >> 2 files changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/hw/vfio/common.c b/hw/vfio/common.c >> index 4d01ea351515..3c9af2fed1b1 100644 >> --- a/hw/vfio/common.c >> +++ b/hw/vfio/common.c >> @@ -1747,6 +1747,7 @@ static int vfio_get_dirty_bitmap(VFIOContainer >> *container, uint64_t iova, >> bool all_device_dirty_tracking = >> vfio_devices_all_device_dirty_tracking(container); >> VFIOBitmap vbmap; >> + uint64_t dirty; > > Could we rename this 'dirty_pages'? > Yeap, will do.
>> int ret; >> if (!container->dirty_pages_supported && !all_device_dirty_tracking) >> { >> @@ -1771,11 +1772,11 @@ static int vfio_get_dirty_bitmap(VFIOContainer >> *container, uint64_t iova, >> goto out; >> } >> - cpu_physical_memory_set_dirty_lebitmap(vbmap.bitmap, ram_addr, >> - vbmap.pages); >> + dirty = cpu_physical_memory_set_dirty_lebitmap(vbmap.bitmap, ram_addr, >> + vbmap.pages); >> trace_vfio_get_dirty_bitmap(container->fd, iova, size, vbmap.size, >> - ram_addr); >> + ram_addr, dirty); >> out: >> g_free(vbmap.bitmap); >> diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events >> index 646e42fd27f9..9265a406eda1 100644 >> --- a/hw/vfio/trace-events >> +++ b/hw/vfio/trace-events >> @@ -120,7 +120,7 @@ vfio_region_sparse_mmap_header(const char *name, int >> index, int nr_areas) "Devic >> vfio_region_sparse_mmap_entry(int i, unsigned long start, unsigned long >> end) >> "sparse entry %d [0x%lx - 0x%lx]" >> vfio_get_dev_region(const char *name, int index, uint32_t type, uint32_t >> subtype) "%s index %d, %08x/%08x" >> vfio_dma_unmap_overflow_workaround(void) "" >> -vfio_get_dirty_bitmap(int fd, uint64_t iova, uint64_t size, uint64_t >> bitmap_size, uint64_t start) "container fd=%d, iova=0x%"PRIx64" size= >> 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64 >> +vfio_get_dirty_bitmap(int fd, uint64_t iova, uint64_t size, uint64_t >> bitmap_size, uint64_t start, uint64_t dirty) "container fd=%d, >> iova=0x%"PRIx64" size= 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64" >> dirty=%"PRIu64 > > Ditto. > /me nods