[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140113.114627.1398138098446476409.davem@davemloft.net>
Date: Mon, 13 Jan 2014 11:46:27 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org, ncardwell@...gle.com, hkchu@...gle.com
Subject: Re: [PATCH net-next] net: gro: change GRO overflow strategy
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Thu, 09 Jan 2014 14:12:19 -0800
> From: Eric Dumazet <edumazet@...gle.com>
>
> GRO layer has a limit of 8 flows being held in GRO list,
> for performance reason.
>
> When a packet comes for a flow not yet in the list,
> and list is full, we immediately give it to upper
> stacks, lowering aggregation performance.
>
> With TSO auto sizing and FQ packet scheduler, this situation
> happens more often.
>
> This patch changes strategy to simply evict the oldest flow of
> the list. This works better because of the nature of packet
> trains for which GRO is efficient. This also has the effect
> of lowering the GRO latency if many flows are competing.
>
> Tested :
>
> Used a 40Gbps NIC, with 4 RX queues, and 200 concurrent TCP_STREAM
> netperf.
>
> Before patch, aggregate rate is 11Gbps (while a single flow can reach
> 30Gbps)
>
> After patch, line rate is reached.
>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied, looks great.
If someone is really concerned about improving the list traversal,
we can maintain a tail pointer.
--
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