Re: [RFC PATCH 11/10] pipe: Add fsync() support [ver #2]

From: Andy Lutomirski
Date: Sat Nov 02 2019 - 18:31:03 EST




> On Nov 2, 2019, at 3:04 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> ïOn Sat, Nov 2, 2019 at 1:31 PM Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>>
>> Add in the fact that itâs not obvious that vmsplice *can* be used correctly, and Iâm wondering if we should just remove it or make it just do write() under the hood.
>
> Sure it can. Just don't modify the data you vmsplice. It's really that simple.

So you allocate memory, vmsplice, and munmap() without reusing it? Just plain free() wonât be good enough. I suspect the TLB overhead will make this a loss in most workloads?

Or maybe you vmsplice from a read-only mapping of a file that you know no one modifies? This could be useful, but you can just splice() from the file directly.