qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/9] vfio/migration: Add vfio_devices_all_dirty_tracking_started(


From: Avihai Horon
Subject: [PATCH 4/9] vfio/migration: Add vfio_devices_all_dirty_tracking_started() helper
Date: Mon, 16 Dec 2024 11:46:33 +0200

vfio_devices_all_dirty_tracking() and vfio_dma_unmap_dirty_sync_needed()
share the same code that checks if dirty page tracking has been started.

Extract it to a common helper vfio_devices_all_dirty_tracking_started().

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
---
 hw/vfio/common.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 81fba81a6f..45783982c9 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -184,16 +184,22 @@ static bool 
vfio_devices_all_device_dirty_tracking_started(
     return true;
 }
 
+static bool
+vfio_devices_all_dirty_tracking_started(const VFIOContainerBase *bcontainer)
+{
+    if (!migration_is_running()) {
+        return false;
+    }
+
+    return vfio_devices_all_device_dirty_tracking_started(bcontainer) ||
+           bcontainer->dirty_pages_started;
+}
+
 static bool vfio_devices_all_dirty_tracking(VFIOContainerBase *bcontainer)
 {
     VFIODevice *vbasedev;
 
-    if (!migration_is_running()) {
-        return false;
-    }
-
-    if (!(vfio_devices_all_device_dirty_tracking_started(bcontainer) ||
-          bcontainer->dirty_pages_started)) {
+    if (!vfio_devices_all_dirty_tracking_started(bcontainer)) {
         return false;
     }
 
@@ -231,12 +237,7 @@ bool vfio_devices_all_device_dirty_tracking(const 
VFIOContainerBase *bcontainer)
 
 bool vfio_dma_unmap_dirty_sync_needed(const VFIOContainerBase *bcontainer)
 {
-    if (!migration_is_running()) {
-        return false;
-    }
-
-    return vfio_devices_all_device_dirty_tracking_started(bcontainer) ||
-           bcontainer->dirty_pages_started;
+    return vfio_devices_all_dirty_tracking_started(bcontainer);
 }
 
 static bool vfio_listener_skipped_section(MemoryRegionSection *section)
-- 
2.40.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]