[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190717105255.63488-8-jasowang@redhat.com>
Date: Wed, 17 Jul 2019 06:52:47 -0400
From: Jason Wang <jasowang@...hat.com>
To: mst@...hat.com, jasowang@...hat.com
Cc: kvm@...r.kernel.org, virtualization@...ts.linux-foundation.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
jfreimann@...hat.com, tiwei.bie@...el.com,
maxime.coquelin@...hat.com
Subject: [PATCH V3 07/15] vhost_net: calculate last used length once for mergeable buffer
This patch tries to calculate last used length once instead of
twice. This can help to convert to use shadow used ring API for
RX.
Signed-off-by: Jason Wang <jasowang@...hat.com>
---
drivers/vhost/net.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index cf47e6e348f4..1a67f889cbc1 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -1065,12 +1065,12 @@ static int get_rx_bufs(struct vhost_virtqueue *vq,
}
heads[headcount].id = cpu_to_vhost32(vq, d);
len = iov_length(vq->iov + seg, in);
- heads[headcount].len = cpu_to_vhost32(vq, len);
datalen -= len;
+ heads[headcount].len = cpu_to_vhost32(vq,
+ datalen >= 0 ? len : len + datalen);
++headcount;
seg += in;
}
- heads[headcount - 1].len = cpu_to_vhost32(vq, len + datalen);
*iovcount = seg;
if (unlikely(log))
*log_num = nlogs;
--
2.18.1
Powered by blists - more mailing lists