Re: [PATCH v2] tcp: splice as many packets as possible at once

From: Herbert Xu
Date: Tue Feb 03 2009 - 07:19:27 EST


On Tue, Feb 03, 2009 at 03:12:19PM +0300, Evgeniy Polyakov wrote:
>
> It is a solution, but I think it will behave noticebly worse than
> with decresed MTU.

Not necessarily. Remember GSO/GRO in essence are just hacks to
get around the fact that we can't increase the MTU to where we
want it to be. MTU reduces the cost over the entire path while
GRO/GSO only do so for the sender and the receiver.

In other words when given the choice between a larger MTU with
copying or GRO, the larger MTU will probably win anyway as it's
optimising the entire path rather than just the receiver.

> That's the main point: how to deal with broken hardware? I think (but
> have no strong numbers though) that having 6 packets with 1500 MTU
> combined into GRO/LRO frame will be processed way faster than copying 9k
> MTU into 3 pages and process single skb.

Please note that with my scheme, you'd only start copying if you
can't allocate a linear skb. So if memory fragmentation doesn't
happen then there is no copying at all.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
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/