Re: Is splice() useful without page stealing?

From: Willy Tarreau
Date: Fri Dec 18 2009 - 01:35:09 EST


On Thu, Dec 17, 2009 at 06:47:19PM -0800, Patrick J. LoPresti wrote:
(...)
> Now, if splice() actually let you do things like flip pages from the
> network stack into the page cache with zero copies, then I could see
> the point. As it is, I am curious to know:
>
> 1) Does anybody have any actual benchmarks showing performance
> advantages for splice() over read()/write()? If so, can I obtain the
> benchmark code?

I did this for TCP->TCP sockets, and the gain is huge at high
bit rates (10 Gbps). Basically, 10 Gbps at 20% CPU with splice,
100% CPU with recv/send. You can find the test results here :

http://haproxy.1wt.eu/10g.html

I'm not using splice for disk-to-net nor net-to-disk transfers though.

Willy

--
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/