[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1461088480.10638.221.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Tue, 19 Apr 2016 10:54:40 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Edward Cree <ecree@...arflare.com>
Cc: Tom Herbert <tom@...bertland.com>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Jesper Dangaard Brouer <brouer@...hat.com>,
linux-net-drivers@...arflare.com
Subject: Re: [RFC PATCH net-next 7/8] net: ipv4: listified version of ip_rcv
On Tue, 2016-04-19 at 18:12 +0100, Edward Cree wrote:
> I think if we pushed bundled RX all the way up to the TCP layer, it might
> potentially also be faster than GRO, because it avoids the work of
> coalescing superframes; plus going through the GRO callbacks for each
> packet could end up blowing icache in the same way the regular stack does.
> If bundling did prove faster, we could then remove GRO, and overall
> complexity would be _reduced_.
Oh well. You really are coming 8 years too late.
I receive ~40 Gbit on a _single_ TCP flow with GRO, I have no idea what
you expect to get without GRO, but my educated guess is :
It will be horrible, and will add memory overhead. (remember GRO shares
a single sk_buff/head for all the segs)
And as a bonus, GRO works also on forwarding workloads, when this packet
is delivered to another NIC or a virtual device.
Are you claiming TSO is useless ?
It is not because a model works well in some other stack (userspace I
guess), that we have to copy it in linux kernel.
Feel free to experiment things, but if your non GRO solution is slower
than GRO, don't even mention it here.
Remember to test things with a realistic iptables setup.
Powered by blists - more mailing lists