Re: [RFC PATCH 3/5] ixgbe: Add support for ndo_ll_poll

From: Eliezer Tamir
Date: Wed Feb 27 2013 - 14:20:19 EST


On 27/02/2013 20:41, Eric Dumazet wrote:
On Wed, 2013-02-27 at 09:56 -0800, Eliezer Tamir wrote:

@@ -1458,7 +1459,9 @@ static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,
{
struct ixgbe_adapter *adapter = q_vector->adapter;

- if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL))
+ if (ixgbe_qv_ll_polling(q_vector))
+ netif_receive_skb(skb);
+ else if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL))
napi_gro_receive(&q_vector->napi, skb);
else
netif_rx(skb);

Interesting reordering issue here.
yes, we need to fix this.
Maybe force a GRO flush when spinning, or maybe disable GRO in a more global manner when someone is busy-polling

Why by-passing GRO stack if its enabled ?
you want to bypass GRO because it adds latency.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/