[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5200E8C9.5070808@mellanox.com>
Date: Tue, 6 Aug 2013 15:15:05 +0300
From: Amir Vadai <amirv@...lanox.com>
To: Shawn Bohrer <sbohrer@...advisors.com>
CC: <eliezer.tamir@...ux.intel.com>, <netdev@...r.kernel.org>
Subject: Re: low latency/busy poll feedback and bugs
On 06/08/2013 00:22, Shawn Bohrer wrote:
> I did a little testing of the new low latency/busy poll sockets today
> and found a few things that surprised me and at least one bug.
>
> 1) I'm testing with a Mellanox ConnectX-3 card.
Of course :)
> Currently polling
> with mlx4_en is broken when GRO is enabled. In
> mlx4_en_process_rx_cq() when GRO is enabled skb_mark_napi_id() is
> never called. It appears like low latency sockets with GRO is
> supposed to work because the following code checks that we are not
> ll_polling:
>
> /* This packet is eligible for GRO if it is:
> * - DIX Ethernet (type interpretation)
> * - TCP/IP (v4)
> * - without IP options
> * - not an IP fragment
> * - no LLS polling in progress
> */
> if (!mlx4_en_cq_ll_polling(cq) &&
> (dev->features & NETIF_F_GRO)) {
>
> However since we never call skb_mark_napi_id() mlx4_en_cq_ll_polling()
> will never be true.
Currently GRO and LLS are mutually exclusive, and shouldn't be used
together.
I will send a fix to make the code clearer soon.
Thanks for reporting,
Amir
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists