Re: [PATCH v3 0/1] pipe: only enable the extra wake_up(rd_wait) for edge-triggered consumers
Linus Torvalds <[email protected]> Fri, 31 Jul 2026 09:25:57 -0700
| Newsgroups | org.kernel.vger.io-uring,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAHk-=wg_PtU66p4iuvzCz13P_cDCfKg2OOuV-v6wq19ua8LyvQ@mail.gmail.com> |
On Fri, 31 Jul 2026 at 07:07, Oleg Nesterov <[email protected]> wrote: > > It seems that Linus doesn't really like this patch "in general", lets wait > for reply from him... No, I like the patch, but I want the naming to be about the *reason* for it. The problem it tries to solve is literally that some people think "edge" means something completely %^@% different from reality. We had legacy epoll users that used edge-triggered events but wanted level-triggered semantics. So it got literally hacked up the minimal way possible. If we change this to be something that isn't the minimal way possible, we should do that *right*. we should make it clear that it's a hack for user space behavior where user space was simply asking for the wrong thing entirely, and it happened to work because we would send wakeups willy-nilly for everything, so even level things that didn't change at all ended up getting those "something changed". But "user space is doing crazy things" isn't an excuse for the kernel breaking user space, so thus that "we'll just continue to do our extra notifications if you use poll". You are now changing it. And what I disagree is that "change it to be something else than the minimal thing, but make the naming be bad and the explanations for the non-minimal thing be bad". My argument is that IF we change this area, we should damn well do it right, and document it, and make it very very clear that the *ONLY* reason this exists is a user space legacy bug that took advantage of legacy kernel behavior, and that we are papering this over. Linus