Re: Unexpected splice "always copy" behavior observed

Linus Torvalds
2010-05-19T15:33:34Z

On Thu, 20 May 2010, Nick Piggin wrote:
>
> Well I mean a full invalidate -- invalidate_mapping_pages -- so there is
> literally no pagecache there at all.

Umm. That won't work. Think mapped pages. You can't handle them
atomically, so somebody will page-fault them in.

So you'd have to have a "invalidate_and_replace()" to do it atomically
while holding the mapping spinlock or something.

And WHAT IS THE POINT? That will be about a million times slower than
just doing the effing copy in the first place!

Memory copies are _not_ slow. Not compared to taking locks and doing TLB
invalidates.

Linus