From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jay Rolette Subject: [PATCH 3/3] kni: rx loop was using the wrong counter Date: Wed, 3 Jun 2015 14:07:58 -0500 Message-ID: <1433358478-12668-3-git-send-email-rolette@infiniteio.com> References: <1433358478-12668-1-git-send-email-rolette@infiniteio.com> To: dev@dpdk.org Return-path: Received: from mail-oi0-f43.google.com (mail-oi0-f43.google.com [209.85.218.43]) by dpdk.org (Postfix) with ESMTP id 41B76BDC2 for ; Wed, 3 Jun 2015 21:08:30 +0200 (CEST) Received: by oihd6 with SMTP id d6so14871587oih.2 for ; Wed, 03 Jun 2015 12:08:29 -0700 (PDT) In-Reply-To: <1433358478-12668-1-git-send-email-rolette@infiniteio.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Loop processing packets dequeued from rx_q was using the number of packets requested, not how many it actually received. Variable rename to make code a little more clear Signed-off-by: Jay Rolette --- lib/librte_eal/linuxapp/kni/kni_net.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c index 13ccbb8..d37a6b9 100644 --- a/lib/librte_eal/linuxapp/kni/kni_net.c +++ b/lib/librte_eal/linuxapp/kni/kni_net.c @@ -131,7 +131,7 @@ kni_net_rx_normal(struct kni_dev *kni) { unsigned ret; uint32_t len; - unsigned i, num, num_fq; + unsigned i, num_rx, num_fq; struct rte_kni_mbuf *kva; struct rte_kni_mbuf *va[MBUF_BURST_SZ]; void * data_kva; @@ -146,15 +146,15 @@ kni_net_rx_normal(struct kni_dev *kni) } /* Calculate the number of entries to dequeue from rx_q */ - num = min(num_fq, (unsigned)MBUF_BURST_SZ); + num_rx = min(num_fq, (unsigned)MBUF_BURST_SZ); /* Burst dequeue from rx_q */ - ret = kni_fifo_get(kni->rx_q, (void **)va, num); - if (ret == 0) + num_rx = kni_fifo_get(kni->rx_q, (void **)va, num_rx); + if (num_rx == 0) return; /* Transfer received packets to netif */ - for (i = 0; i < num; i++) { + for (i = 0; i < num_rx; i++) { kva = (void *)va[i] - kni->mbuf_va + kni->mbuf_kva; len = kva->data_len; data_kva = kva->buf_addr + kva->data_off - kni->mbuf_va @@ -184,8 +184,8 @@ kni_net_rx_normal(struct kni_dev *kni) } /* Burst enqueue mbufs into free_q */ - ret = kni_fifo_put(kni->free_q, (void **)va, num); - if (ret != num) + ret = kni_fifo_put(kni->free_q, (void **)va, num_rx); + if (ret != num_rx) /* Failing should not happen */ KNI_ERR("Fail to enqueue entries into free_q\n"); } -- 2.3.2 (Apple Git-55)