On 4/2/25 15:36, Avihai Horon wrote:

On 26/03/2025 9:51, Cédric Le Goater wrote:
External email: Use caution opening links or attachments


vfio_container_query_dirty_bitmap() is consistent the VFIO container
routine naming scheme and is now free to use.

Signed-off-by: Cédric Le Goater <c...@redhat.com>

Reviewed-by: Avihai Horon <avih...@nvidia.com>

Since lore didn't receive the email :

Reviewed-by: Avihai Horon <avih...@nvidia.com>

A few nits below.

yes. The indentation and 80 chars rule are best effort. Our tool
checkpatch.pl only emits a warning. I prefer to keep the current
layout for readability reasons.



Thanks,

C.







---
  include/hw/vfio/vfio-container-base.h | 4 ++--
  hw/vfio/common.c                      | 6 +++---
  hw/vfio/container-base.c              | 5 +++--
  hw/vfio/container.c                   | 2 +-
  hw/vfio/trace-events                  | 2 +-
  5 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/include/hw/vfio/vfio-container-base.h 
b/include/hw/vfio/vfio-container-base.h
index 
163d9b3c30b3093d2f40bb3d3ffc0314519ac285..a441932be779e5c6740da78f005ed2c8320e7cb2
 100644
--- a/include/hw/vfio/vfio-container-base.h
+++ b/include/hw/vfio/vfio-container-base.h
@@ -93,8 +93,8 @@ bool vfio_container_dirty_tracking_is_started(
      const VFIOContainerBase *bcontainer);
  bool vfio_container_devices_dirty_tracking_is_supported(
      const VFIOContainerBase *bcontainer);
-int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova,
-                          uint64_t size, ram_addr_t ram_addr, Error **errp);
+int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
+    uint64_t iova, uint64_t size, ram_addr_t ram_addr, Error **errp);

Indentation is a bit off.


  GList *vfio_container_get_iova_ranges(const VFIOContainerBase *bcontainer);

diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 
d063ea03c1cb4f475d421e626c703875fecd97a8..26ced6d4fb04b0dedf399686db40acaca5d85552
 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -1003,7 +1003,7 @@ static void vfio_iommu_map_dirty_notify(IOMMUNotifier *n, 
IOMMUTLBEntry *iotlb)
          goto out_unlock;
      }

-    ret = vfio_get_dirty_bitmap(bcontainer, iova, iotlb->addr_mask + 1,
+    ret = vfio_container_query_dirty_bitmap(bcontainer, iova, iotlb->addr_mask 
+ 1,

This line is beyond 80 chars.

                                  translated_addr, &local_err);
      if (ret) {
          error_prepend(&local_err,
@@ -1040,7 +1040,7 @@ static int 
vfio_ram_discard_get_dirty_bitmap(MemoryRegionSection *section,
       * Sync the whole mapped region (spanning multiple individual mappings)
       * in one go.
       */
-    ret = vfio_get_dirty_bitmap(vrdl->bcontainer, iova, size, ram_addr,
+    ret = vfio_container_query_dirty_bitmap(vrdl->bcontainer, iova, size, 
ram_addr,

This line is beyond 80 chars.

                                  &local_err);
      if (ret) {
          error_report_err(local_err);
@@ -1134,7 +1134,7 @@ static int vfio_sync_dirty_bitmap(VFIOContainerBase 
*bcontainer,
      ram_addr = memory_region_get_ram_addr(section->mr) +
                 section->offset_within_region;

-    return vfio_get_dirty_bitmap(bcontainer,
+    return vfio_container_query_dirty_bitmap(bcontainer,
                     REAL_HOST_PAGE_ALIGN(section->offset_within_address_space),
                                   int128_get64(section->size), ram_addr, errp);
  }
diff --git a/hw/vfio/container-base.c b/hw/vfio/container-base.c
index 
648dd25676e5b25a7c414109888b2796f890deac..a2e7a3b2e747d422f7a681fb09b1182e119c6d20
 100644
--- a/hw/vfio/container-base.c
+++ b/hw/vfio/container-base.c
@@ -237,7 +237,7 @@ static int vfio_container_devices_query_dirty_bitmap(const 
VFIOContainerBase *bc
      return 0;
  }

-int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova,
+int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer, 
uint64_t iova,
                            uint64_t size, ram_addr_t ram_addr, Error **errp)

Indentation is a bit off.

  {
      bool all_device_dirty_tracking =
@@ -275,7 +275,8 @@ int vfio_get_dirty_bitmap(const VFIOContainerBase 
*bcontainer, uint64_t iova,
      dirty_pages = cpu_physical_memory_set_dirty_lebitmap(vbmap.bitmap, 
ram_addr,
                                                           vbmap.pages);

-    trace_vfio_get_dirty_bitmap(iova, size, vbmap.size, ram_addr, dirty_pages);
+    trace_vfio_container_query_dirty_bitmap(iova, size, vbmap.size, ram_addr,
+                                            dirty_pages);
  out:
      g_free(vbmap.bitmap);

diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index 
9ea03ed618f6aefe35f966c644cbbc127ce7bf06..c74e08e531a501313cab27c57728a8c940d975be
 100644
--- a/hw/vfio/container.c
+++ b/hw/vfio/container.c
@@ -169,7 +169,7 @@ static int vfio_legacy_dma_unmap(const VFIOContainerBase 
*bcontainer,
      }

      if (need_dirty_sync) {
-        ret = vfio_get_dirty_bitmap(bcontainer, iova, size,
+        ret = vfio_container_query_dirty_bitmap(bcontainer, iova, size,
                                      iotlb->translated_addr, &local_err);

Indentation is a bit off.

Thanks.

          if (ret) {
              error_report_err(local_err);
diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events
index 
d4cd09cb0f93485fe06984346f6ac927603c5745..aa0ba695fa38f7767bf506ec604046101186e7d4
 100644
--- a/hw/vfio/trace-events
+++ b/hw/vfio/trace-events
@@ -109,7 +109,7 @@ vfio_legacy_dma_unmap_overflow_workaround(void) ""
  vfio_iommu_map_dirty_notify(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 
0x%"PRIx64" - 0x%"PRIx64

  # container-base.c
-vfio_get_dirty_bitmap(uint64_t iova, uint64_t size, uint64_t bitmap_size, uint64_t start, uint64_t dirty_pages) 
"iova=0x%"PRIx64" size= 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64" 
dirty_pages=%"PRIu64
+vfio_container_query_dirty_bitmap(uint64_t iova, uint64_t size, uint64_t bitmap_size, uint64_t start, uint64_t dirty_pages) 
"iova=0x%"PRIx64" size= 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64" 
dirty_pages=%"PRIu64

  # region.c
  vfio_region_write(const char *name, int index, uint64_t addr, uint64_t data, unsigned size) " 
(%s:region%d+0x%"PRIx64", 0x%"PRIx64 ", %d)"
--
2.49.0




Reply via email to