Thanks, xiaolong & maxime. Commits log has been fixed in v2.
> -----Original Message----- > From: Ye, Xiaolong <[email protected]> > Sent: Monday, February 24, 2020 3:26 PM > To: Liu, Yong <[email protected]> > Cc: [email protected]; [email protected]; Bie, Tiwei > <[email protected]>; Wang, Zhihong <[email protected]>; > [email protected] > Subject: Re: [dpdk-dev] [PATCH] vhost: fix zmbuf buffer id invalid > > For the subject, what about: > > vhost: fix invalid zmbuf buffer id > > On 02/24, Marvin Liu wrote: > >zc mbufs should record available buffer id when doing dequeue zcopy. > >There's no guarantee that local queue avail index equal to buffer index. > > s/equal to/is equal to > > > > >Fixes: d1eafb532268 ("vhost: add packed ring zcopy batch and single > dequeue") > >Cc: [email protected] > > > >Signed-off-by: Marvin Liu <[email protected]> > >Reported-by: Yinan Wang <[email protected]> > > > >diff --git a/lib/librte_vhost/virtio_net.c > b/lib/librte_vhost/virtio_net.c > >index 37c47c7dc..210415904 100644 > >--- a/lib/librte_vhost/virtio_net.c > >+++ b/lib/librte_vhost/virtio_net.c > >@@ -2004,7 +2004,7 @@ virtio_dev_tx_batch_packed_zmbuf(struct virtio_net > *dev, > > > > vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE) { > > zmbufs[i]->mbuf = pkts[i]; > >- zmbufs[i]->desc_idx = avail_idx + i; > >+ zmbufs[i]->desc_idx = ids[i]; > > zmbufs[i]->desc_count = 1; > > } > > > >@@ -2045,7 +2045,7 @@ virtio_dev_tx_single_packed_zmbuf(struct > virtio_net *dev, > > return -1; > > } > > zmbuf->mbuf = *pkts; > >- zmbuf->desc_idx = vq->last_avail_idx; > >+ zmbuf->desc_idx = buf_id; > > zmbuf->desc_count = desc_count; > > > > rte_mbuf_refcnt_update(*pkts, 1); > >-- > >2.17.1 > > > > Apart from above, > > Reviewed-by: Xiaolong Ye <[email protected]>

