Re: [RFC PATCH] fuse: support splice() reading from fuse device

From: Miklos Szeredi
Date: Thu May 20 2010 - 14:54:25 EST


On Thu, 20 May 2010, Linus Torvalds wrote:
> Are there actual real loads that get improved? I don't care if it means
> that the improvement goes from three orders of magnitude to just a couple
> of percent. The "couple of percent on actual loads" is a lot more
> important than "many orders of magnitude on a made-up benchmark".

The reason I've been looking at zero copy for fuse is that embedded
people have been complaining about fuse's large CPU overhead for I/O.
So large in fact that it was having a performance impact even for
relatively slow devices. And most of that overhead comes from copying
data around.

So it's not the 20GB/s throughput that's interesting but the reduced
CPU overhead, especially on slower processors. Apart from cache
effects 20GB/s throughput with a null filesystem means 1% CPU at
200MB/s transfer speed with _any_ filesystem. Without bigger requests
that translates to 4% overhead and without zero copy about 15%.
That's on a core2/1.8GHz, with an embedded CPU the overhead reduction
would be even more significant.

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