vhost: fix missing copy length in batched copies
Checks
Commit Message
This patch fixes missing the assignement of the copy length
when doing batched copies in the sync dequeue path.
Fixes: cd79d1b030bd ("vhost: fix unnecessary dirty page logging")
Suggested-by: Chenbo Xia <chenbo.xia@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
lib/vhost/virtio_net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 7/12/22 12:04, Maxime Coquelin wrote:
> This patch fixes missing the assignement of the copy length
s/assignement/assignment/
If this is the only change requested, could it be fixed while applying,
or should I send a v2?
Thanks,
Maxime
> when doing batched copies in the sync dequeue path.
>
> Fixes: cd79d1b030bd ("vhost: fix unnecessary dirty page logging")
>
> Suggested-by: Chenbo Xia <chenbo.xia@intel.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
> lib/vhost/virtio_net.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
> index 12b7fbe7f9..35fa4670fd 100644
> --- a/lib/vhost/virtio_net.c
> +++ b/lib/vhost/virtio_net.c
> @@ -1127,13 +1127,13 @@ sync_fill_seg(struct virtio_net *dev, struct vhost_virtqueue *vq,
> batch_copy[vq->batch_copy_nb_elems].src =
> rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
> batch_copy[vq->batch_copy_nb_elems].log_addr = buf_iova;
> - batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
> } else {
> batch_copy[vq->batch_copy_nb_elems].dst =
> rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
> batch_copy[vq->batch_copy_nb_elems].src =
> (void *)((uintptr_t)(buf_addr));
> }
> + batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
> vq->batch_copy_nb_elems++;
> }
> }
> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Tuesday, July 12, 2022 6:10 PM
> To: dev@dpdk.org; Xia, Chenbo <chenbo.xia@intel.com>; Jiang, YuX
> <yux.jiang@intel.com>; thomas@monjalon.net; david.marchand@redhat.com
> Subject: Re: [PATCH] vhost: fix missing copy length in batched copies
>
>
>
> On 7/12/22 12:04, Maxime Coquelin wrote:
> > This patch fixes missing the assignement of the copy length
> s/assignement/assignment/
>
> If this is the only change requested, could it be fixed while applying,
> or should I send a v2?
>
> Thanks,
> Maxime
>
> > when doing batched copies in the sync dequeue path.
> >
> > Fixes: cd79d1b030bd ("vhost: fix unnecessary dirty page logging")
> >
> > Suggested-by: Chenbo Xia <chenbo.xia@intel.com>
> > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> > ---
> > lib/vhost/virtio_net.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
With the typo fixed:
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
> >
> > diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
> > index 12b7fbe7f9..35fa4670fd 100644
> > --- a/lib/vhost/virtio_net.c
> > +++ b/lib/vhost/virtio_net.c
> > @@ -1127,13 +1127,13 @@ sync_fill_seg(struct virtio_net *dev, struct
> vhost_virtqueue *vq,
> > batch_copy[vq->batch_copy_nb_elems].src =
> > rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
> > batch_copy[vq->batch_copy_nb_elems].log_addr = buf_iova;
> > - batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
> > } else {
> > batch_copy[vq->batch_copy_nb_elems].dst =
> > rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
> > batch_copy[vq->batch_copy_nb_elems].src =
> > (void *)((uintptr_t)(buf_addr));
> > }
> > + batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
> > vq->batch_copy_nb_elems++;
> > }
> > }
> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Tuesday, July 12, 2022 6:05 PM
> To: dev@dpdk.org; Xia, Chenbo <chenbo.xia@intel.com>; Jiang, YuX
> <yux.jiang@intel.com>; thomas@monjalon.net;
> david.marchand@redhat.com
> Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
> Subject: [PATCH] vhost: fix missing copy length in batched copies
>
> This patch fixes missing the assignement of the copy length when doing
> batched copies in the sync dequeue path.
>
> Fixes: cd79d1b030bd ("vhost: fix unnecessary dirty page logging")
>
> Suggested-by: Chenbo Xia <chenbo.xia@intel.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
Hi Maxime,
regression test with this patch yesterday, it does not effect the other test cases.
Tested-by: Wei Ling <weix.ling@intel.com>
> > This patch fixes missing the assignement of the copy length when doing
> > batched copies in the sync dequeue path.
> >
> > Fixes: cd79d1b030bd ("vhost: fix unnecessary dirty page logging")
> >
> > Suggested-by: Chenbo Xia <chenbo.xia@intel.com>
> > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> > ---
>
> Hi Maxime,
>
> regression test with this patch yesterday, it does not effect the other test cases.
>
> Tested-by: Wei Ling <weix.ling@intel.com>
Applied, thanks.
@@ -1127,13 +1127,13 @@ sync_fill_seg(struct virtio_net *dev, struct vhost_virtqueue *vq,
batch_copy[vq->batch_copy_nb_elems].src =
rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
batch_copy[vq->batch_copy_nb_elems].log_addr = buf_iova;
- batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
} else {
batch_copy[vq->batch_copy_nb_elems].dst =
rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
batch_copy[vq->batch_copy_nb_elems].src =
(void *)((uintptr_t)(buf_addr));
}
+ batch_copy[vq->batch_copy_nb_elems].len = cpy_len;
vq->batch_copy_nb_elems++;
}
}