[RFC PATCH v 0/1] pipe: only enable the extra wake_up(rd_wait) for edge-triggered consumers

Oleg Nesterov <[email protected]> Mon, 27 Jul 2026 14:23:34 +0200
Newsgroups org.kernel.vger.io-uring,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Again, I am not sure this makes a lot of sense. But I'd like to know
your opinion.

Plus I'd like to have the review from sashiko ;)

With or without this patch we need to update the comments to document
that io_uring depends on ->pipe_usage too. And probably rename it to
(say) ->et_poll.

tools/testing/selftests/filesystems/epoll/epoll_wakeup_test.c passes.

See also the test-cases in 1/1, they pass with this patch. And fail if
I remove WRITE_ONCE(pipe->poll_usage, true) in pipe_poll().

Oleg.
---

 fs/pipe.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)