Thanks, xiaolong & maxime. Commits log has been fixed in v2.
> -----Original Message----- > From: Ye, Xiaolong <xiaolong...@intel.com> > Sent: Monday, February 24, 2020 3:26 PM > To: Liu, Yong <yong....@intel.com> > Cc: maxime.coque...@redhat.com; dev@dpdk.org; Bie, Tiwei > <tiwei....@intel.com>; Wang, Zhihong <zhihong.w...@intel.com>; > sta...@dpdk.org > 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: sta...@dpdk.org > > > >Signed-off-by: Marvin Liu <yong....@intel.com> > >Reported-by: Yinan Wang <yinan.w...@intel.com> > > > >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 <xiaolong...@intel.com>