Lines Matching refs:dirty
92 System memory dirty pages tracking
96 the VFIO dirty tracking module to start and stop dirty page tracking. A
97 ``log_sync`` memory listener callback queries the dirty page bitmap from the
98 dirty tracking module and marks system memory pages which were DMA-ed by the
99 VFIO device as dirty. The dirty page bitmap is queried per container.
101 Currently there are two ways dirty page tracking can be done:
102 (1) Device dirty tracking:
105 Discovering device capability, starting and stopping dirty tracking, and
106 syncing the dirty bitmaps from the device are done using the DMA logging uAPI.
113 In this method dirty tracking is done by IOMMU. However, there is currently no
114 IOMMU support for dirty page tracking. For this reason, all pages are
115 perpetually marked dirty, unless the device driver pins pages through external
116 APIs in which case only those pinned pages are perpetually marked dirty.
119 dirty by QEMU.
121 By default, dirty pages are tracked during pre-copy as well as stop-and-copy
122 phase. So, a page marked as dirty will be copied to the destination in both
123 phases. Copying dirty pages in pre-copy phase helps QEMU to predict if it can
125 dirty pages continuously, then it understands that even in stop-and-copy phase,
126 it is likely to find dirty pages and can predict the downtime accordingly.
128 QEMU also provides a per device opt-out option ``pre-copy-dirty-page-tracking``
129 which disables querying the dirty bitmap during pre-copy phase. If it is set to
130 off, all dirty pages will be copied to the destination in stop-and-copy phase
133 System memory dirty pages tracking when vIOMMU is enabled
137 phase of migration. In that case, the unmap ioctl returns any dirty pages in
138 that range and QEMU reports corresponding guest physical pages dirty. During
140 pages and then dirty pages bitmap is fetched from VFIO IOMMU modules for those
141 mapped ranges. If device dirty tracking is enabled with vIOMMU, live migration