[v3] vhost: don't track remaining packets separately
Checks
Commit Message
The remained variable stores the same information as the difference
between count and pkt_idx. Remove the remained variable to simplify.
Signed-off-by: Balazs Nemeth <bnemeth@redhat.com>
---
lib/librte_vhost/virtio_net.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
Comments
On 4/13/21 3:31 PM, Balazs Nemeth wrote:
> The remained variable stores the same information as the difference
> between count and pkt_idx. Remove the remained variable to simplify.
>
> Signed-off-by: Balazs Nemeth <bnemeth@redhat.com>
> ---
> lib/librte_vhost/virtio_net.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Balazs Nemeth
> Sent: Tuesday, April 13, 2021 9:31 PM
> To: bnemeth@redhat.com; dev@dpdk.org; maxime.coquelin@redhat.com
> Subject: [dpdk-dev] [PATCH v3] vhost: don't track remaining packets separately
>
> The remained variable stores the same information as the difference
> between count and pkt_idx. Remove the remained variable to simplify.
>
> Signed-off-by: Balazs Nemeth <bnemeth@redhat.com>
> ---
> lib/librte_vhost/virtio_net.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
> index ff39878609..01b849f6cb 100644
> --- a/lib/librte_vhost/virtio_net.c
> +++ b/lib/librte_vhost/virtio_net.c
> --
> 2.30.2
Patch applied to next-virtio/main, thanks
@@ -1352,16 +1352,14 @@ virtio_dev_rx_packed(struct virtio_net *dev,
uint32_t count)
{
uint32_t pkt_idx = 0;
- uint32_t remained = count;
do {
rte_prefetch0(&vq->desc_packed[vq->last_avail_idx]);
- if (remained >= PACKED_BATCH_SIZE) {
+ if (count - pkt_idx >= PACKED_BATCH_SIZE) {
if (!virtio_dev_rx_batch_packed(dev, vq,
&pkts[pkt_idx])) {
pkt_idx += PACKED_BATCH_SIZE;
- remained -= PACKED_BATCH_SIZE;
continue;
}
}
@@ -1369,7 +1367,6 @@ virtio_dev_rx_packed(struct virtio_net *dev,
if (virtio_dev_rx_single_packed(dev, vq, pkts[pkt_idx]))
break;
pkt_idx++;
- remained--;
} while (pkt_idx < count);
@@ -2460,16 +2457,14 @@ virtio_dev_tx_packed(struct virtio_net *dev,
uint32_t count)
{
uint32_t pkt_idx = 0;
- uint32_t remained = count;
do {
rte_prefetch0(&vq->desc_packed[vq->last_avail_idx]);
- if (remained >= PACKED_BATCH_SIZE) {
+ if (count - pkt_idx >= PACKED_BATCH_SIZE) {
if (!virtio_dev_tx_batch_packed(dev, vq, mbuf_pool,
&pkts[pkt_idx])) {
pkt_idx += PACKED_BATCH_SIZE;
- remained -= PACKED_BATCH_SIZE;
continue;
}
}
@@ -2478,9 +2473,7 @@ virtio_dev_tx_packed(struct virtio_net *dev,
&pkts[pkt_idx]))
break;
pkt_idx++;
- remained--;
-
- } while (remained);
+ } while (pkt_idx < count);
if (vq->shadow_used_idx) {
do_data_copy_dequeue(vq);