DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Benson, Bryan" <bmbenson@amazon.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] RX checksum offloading
Date: Thu, 7 Nov 2013 21:50:03 +0000	[thread overview]
Message-ID: <A029A4295D154649BCC3E22A692B26022E3E9B@ex10-mbx-36002.ant.amazon.com> (raw)

All,
I have prepared a patch for the issue.  If it is not in the correct format, please advise.  I also changed the array to be uint32_t to be consistent with the other functions that pull the status flags.

== PATCH BEGIN ==
>From 2ab73e88d92044c1d840f896d87e9a8cbcf29ce4 Mon Sep 17 00:00:00 2001
From: Bryan Benson <bmbenson@amazon.com>
Date: Thu, 7 Nov 2013 21:38:57 +0000
Subject: [PATCH] Do not unset the status bits in the scan_hw_ring function
 when counting the number of done descriptors.

---
 inteldpdk/DPDK/lib/librte_pmd_ixgbe/ixgbe_rxtx.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/inteldpdk/DPDK/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/inteldpdk/DPDK/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 2be9979..c4abf9a 100755
--- a/inteldpdk/DPDK/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/inteldpdk/DPDK/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -1037,7 +1037,8 @@ ixgbe_rx_scan_hw_ring(struct igb_rx_queue *rxq)
        struct igb_rx_entry *rxep;
        struct rte_mbuf *mb;
        uint16_t pkt_len;
-       int s[LOOK_AHEAD], nb_dd;
+       uint32_t s[LOOK_AHEAD];
+       int nb_dd;
        int i, j, nb_rx = 0;
 
 
@@ -1060,12 +1061,12 @@ ixgbe_rx_scan_hw_ring(struct igb_rx_queue *rxq)
                for (j = LOOK_AHEAD-1; j >= 0; --j)
                        s[j] = rxdp[j].wb.upper.status_error;
 
-               /* Clear everything but the status bits (LSB) */
-               for (j = 0; j < LOOK_AHEAD; ++j)
-                       s[j] &= IXGBE_RXDADV_STAT_DD;
+               nb_dd = 0;
+               /* add to nd_dd when the status bit is set (LSB) */
+               for (j = 0; j < LOOK_AHEAD; ++j) {
+                       nb_dd += s[j] & IXGBE_RXDADV_STAT_DD;
+               }
 
-               /* Compute how many status bits were set */
-               nb_dd = s[0]+s[1]+s[2]+s[3]+s[4]+s[5]+s[6]+s[7];
                nb_rx += nb_dd;
 
                /* Translate descriptor info to mbuf format */
-- 
1.7.9.5

== PATCH END ==

A validation text email will follow.

Thank you,
Bryan Benson
Amazon Web Services
________________________________________
From: Thomas Monjalon [thomas.monjalon@6wind.com]
Sent: Thursday, November 07, 2013 3:44 AM
To: Benson, Bryan
Cc: dev@dpdk.org; LiuFeng
Subject: Re: [dpdk-dev] RX checksum offloading

07/11/2013 10:06, Thomas Monjalon :
> 07/11/2013 04:44, Benson, Bryan :
> >   RX queues=1 - RX desc=1024 - RX free threshold=16
> >
> > ---------------------- Forward statistics for port 0
> >
> >  RX-total: 543761 Bad-ipcsum: 543558         Bad-l4csum: 0
> >
> > ---------------------- Forward statistics for port 1
> >
> >  RX-total: 542226 Bad-ipcsum: 0              Bad-l4csum: 542005
> >
> >   RX queues=1 - RX desc=1024 - RX free threshold=32
> >
> > ---------------------- Forward statistics for port 0
> >
> >  RX-total: 378894 Bad-ipcsum: 0              Bad-l4csum: 0
> >
> > ---------------------- Forward statistics for port 1
> >
> >  RX-total: 381197 Bad-ipcsum: 0              Bad-l4csum: 0
>
> Excellent report, thank you !
>
> We need to fix it now :)

LiuFeng had seen this issue with additonal comments:
        http://www.dpdk.org/ml/archives/dev/2013-September/000529.html

--
Thomas



             reply	other threads:[~2013-11-07 22:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-07 21:50 Benson, Bryan [this message]
2013-11-08 10:27 ` Thomas Monjalon
  -- strict thread matches above, loose matches on Subject: below --
2013-11-07  0:00 Benson, Bryan
2013-11-07  3:09 ` Benson, Bryan
2013-11-07  3:44   ` Benson, Bryan
2013-11-07  9:06     ` Thomas Monjalon
2013-11-07 11:44       ` Thomas Monjalon
2013-11-07 21:53         ` Benson, Bryan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A029A4295D154649BCC3E22A692B26022E3E9B@ex10-mbx-36002.ant.amazon.com \
    --to=bmbenson@amazon.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).