The log_cache_nb_elem was never incremented, resulting
in all dirty pages to be missed during live migration.

Fixes: c16915b87109 ("vhost: improve dirty pages logging performance")
Cc: [email protected]

Reported-by: Peng He <[email protected]>
Cc: Ilya Maximets <[email protected]>
Signed-off-by: Maxime Coquelin <[email protected]>
---
 lib/librte_vhost/vhost.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 528e01c8f..786a74f64 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -429,6 +429,7 @@ vhost_log_cache_page(struct virtio_net *dev, struct 
vhost_virtqueue *vq,
 
        vq->log_cache[i].offset = offset;
        vq->log_cache[i].val = (1UL << bit_nr);
+       vq->log_cache_nb_elem++;
 }
 
 static __rte_always_inline void
-- 
2.14.3

Reply via email to