Linux filesystem development
 help / color / mirror / Atom feed
* [PATCH v3 0/1] pipe: only enable the extra wake_up(rd_wait) for edge-triggered consumers
@ 2026-07-30 14:11 Oleg Nesterov
  2026-07-30 14:12 ` [PATCH v3 1/1] " Oleg Nesterov
  2026-07-30 16:36 ` [PATCH v3 0/1] " Linus Torvalds
  0 siblings, 2 replies; 7+ messages in thread
From: Oleg Nesterov @ 2026-07-30 14:11 UTC (permalink / raw)
  To: Breno Leitao, Christian Brauner, Mateusz Guzik, Jens Axboe,
	Pavel Begunkov
  Cc: Alexander Viro, Jan Kara, Alexey Gladkov, Linus Torvalds,
	linux-kernel, linux-fsdevel, io-uring

Let me repeat, I do not think this patch can improve performance. In fact
I only hope that none of (micro)benchmarks will suffer, they are often
very sensitive to any changes in pipe.c

And yes, even if this patch is correct (I hope) it can expose the latent
bugs that were hidden by the extra wakeup, like it happened in the past.

But at least the comments should be updated: io_uring depends on poll_usage
"nasty semantics" too and this is not obvious at all. And IMO, the EPOLLET
check added by this patch acts as a documentation too.

And if this patch does cause a regression... I think we need to learn who
else depends on the extra wakeup and how; this is something we should know
anyway.

Changes since v2: renamed ->poll_usage to ->poll_et, and updated comments.

See the tests in 1/1, both pass. And both fail if I remove
WRITE_ONCE(pipe->poll_usage) in pipe_poll().

Oleg.
---

 fs/pipe.c                 | 15 ++++++++-------
 include/linux/pipe_fs_i.h |  4 ++--
 2 files changed, 10 insertions(+), 9 deletions(-)


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-07-30 20:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-30 14:11 [PATCH v3 0/1] pipe: only enable the extra wake_up(rd_wait) for edge-triggered consumers Oleg Nesterov
2026-07-30 14:12 ` [PATCH v3 1/1] " Oleg Nesterov
2026-07-30 14:26   ` Breno Leitao
2026-07-30 14:38     ` Oleg Nesterov
2026-07-30 20:01       ` Mateusz Guzik
2026-07-30 16:36 ` [PATCH v3 0/1] " Linus Torvalds
2026-07-30 18:55   ` Oleg Nesterov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox