[dpdk-dev] [PATCH] vhost: fix dirty page logging missing

Marvin Liu yong.liu at intel.com
Mon Nov 4 12:15:47 CET 2019


Packets data are directly copied when doing batch enqueue, add missed
dirty page logging after memory copy.

Fixes: ad3df6dcc0fc ("vhost: add packed ring batch enqueue")

Signed-off-by: Marvin Liu <yong.liu at intel.com>
---
 lib/librte_vhost/virtio_net.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index eae7825f0..0c33af7b1 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -1107,6 +1107,10 @@ virtio_dev_rx_batch_packed(struct virtio_net *dev,
 			   pkts[i]->pkt_len);
 	}
 
+	vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE)
+		vhost_log_cache_write_iova(dev, vq, descs[avail_idx + i].addr,
+					   lens[i]);
+
 	vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE)
 		ids[i] = descs[avail_idx + i].id;
 
-- 
2.17.1



More information about the dev mailing list