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

From: Eliezer Tamir <[email-masked]>
Date: Wed, 27 Feb 2013 21:20:02 +0200

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.