On Wed, 2015-07-01 at 18:53 +0300, Nicolae Rosia wrote:
> On Wed, Jul 1, 2015 at 6:33 PM, Eric Dumazet <eric.duma...@gmail.com> wrote:
> [...]
> > This only matters in terms of few nano seconds per packet, so for 10Gb+
> > NIC anyway. Absolute noise for most NIC.
> >
> I'll give it a try and benchmark.
> I achieved a huge speedup by moving TX into napi [0], but my hardware doesn't
> support multiple TX queues and I can't test that situation.
> 
> > Yes, but main question is : Do you have the hardware to test your
> > changes ?
> Yes, I have a Xilinx ZC706 board with a Zynq7 XC7Z045 processor [1]
> 
> [0] https://patchwork.ozlabs.org/patch/488949/
> [1] http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html

OK, then enabling GRO should be quite easy, given driver already has
most of it.

diff --git a/drivers/net/ethernet/cadence/macb.c 
b/drivers/net/ethernet/cadence/macb.c
index 
caeb39561567237261ac0d50befebad666cfbeb3..24a93c769caa5430ca61efe002b458fef7281e99
 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -815,7 +815,7 @@ static int gem_rx(struct macb *bp, int budget)
                               skb->data, 32, true);
 #endif
 
-               netif_receive_skb(skb);
+               napi_gro_receive(&bp->napi, skb);
        }
 
        gem_rx_refill(bp);
@@ -896,7 +896,7 @@ static int macb_rx_frame(struct macb *bp, unsigned int 
first_frag,
        bp->stats.rx_bytes += skb->len;
        netdev_vdbg(bp->dev, "received skb of length %u, csum: %08x\n",
                   skb->len, skb->csum);
-       netif_receive_skb(skb);
+       napi_gro_receive(&bp->napi, skb);
 
        return 0;
 }


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to