Re: Unexpected splice "always copy" behavior observed

From: Linus Torvalds
Date: Wed May 19 2010 - 10:42:45 EST




On Wed, 19 May 2010, Nick Piggin wrote:
>
> We can possibly do an attempt to invalidate existing pagecache and
> then try to install the new page.

Yes, but that's going to be rather hairier. We need to make sure that the
filesystem doesn't have some kind of dirty pointers to the old page etc.
Although I guess that should always show up in the page counters, so I
guess we can always handle the case of page_count() being 1 (only page
cache) and the page being unlocked.

So I'd much rather just handle the "append to the end".

The real limitation is likely always going to be the fact that it has to
be page-aligned and a full page. For a lot of splice inputs, that simply
won't be the case, and you'll end up copying for alignment reasons anyway.

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