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