[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d8a477c6-5394-ab33-443f-59d75a58f430@solarflare.com>
Date: Tue, 13 Sep 2016 16:20:05 +0100
From: Edward Cree <ecree@...arflare.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>,
Saeed Mahameed <saeedm@....mellanox.co.il>
CC: Alexei Starovoitov <alexei.starovoitov@...il.com>,
Tom Herbert <tom@...bertland.com>,
iovisor-dev <iovisor-dev@...ts.iovisor.org>,
"Jamal Hadi Salim" <jhs@...atatu.com>,
Saeed Mahameed <saeedm@...lanox.com>,
"Eric Dumazet" <edumazet@...gle.com>,
Linux Netdev List <netdev@...r.kernel.org>,
Rana Shahout <rana.shahot@...il.com>,
Tariq Toukan <tariqt@...lanox.com>
Subject: Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit
more
On 12/09/16 11:15, Jesper Dangaard Brouer wrote:
> I'm reacting so loudly, because this is a mental model switch, that
> need to be applied to the full drivers RX path. Also for normal stack
> delivery of SKBs. As both Edward Cree[1] and I[2] have demonstrated,
> there is between 10%-25% perf gain here.
>
> [1] http://lists.openwall.net/netdev/2016/04/19/89
> [2] http://lists.openwall.net/netdev/2016/01/15/51
BTW, I'd also still rather like to see that happen, I never really
understood the objections people had to those patches when I posted them. I
still believe that dealing in skb-lists instead of skbs, and thus
'automatically' bulking similar packets, is better than trying to categorise
packets into flows early on based on some set of keys. The problem with the
latter approach is that there are now two definitions of "similar":
1) the set of fields used to index the flow
2) what will actually cause the stack's behaviour to differ if not using the
cached values.
Quite apart from the possibility of bugs if one changes but not the other,
this forces (1) to be conservative, only considering things "similar" if the
entire stack will. Whereas with bundling, the stack can keep packets
together until they reach a layer at which they are no longer "similar"
enough. Thus, for instance, packets with the same IP 3-tuple but different
port numbers can be grouped together for IP layer processing, then split
apart for L4.
-Ed
Powered by blists - more mailing lists