On Mon, Apr 24, 2023 at 2:22 PM Jens Axboe <axboe@xxxxxxxxx> wrote: > > If we don't ever wait for IO with the pipe lock held, then we can skip > the conditional locking. But with splice, that's not at all the case! We > most certainly wait for IO there with the pipe lock held. I think that then needs to just be fixed. I really think that trylock due to "nonblocking" IO is fundamentally wrong. Thinking that you need it is just a sign of something else being very wrong. That "very wrong" thing might well be splice then not honoring non-blocking IO on a non-blocking pipe. And I completely refuse to add that trylock hack to paper that over. The pipe lock is *not* meant for IO. Linus