On 7/30/21 10:53 PM, Linus Torvalds wrote:
On Fri, Jul 30, 2021 at 12:23 PM Linus Torvalds torvalds@linux-foundation.org wrote:
I'll mull it over a bit more, but whatever I'll do I'll do before rc4 and mark it for stable.
Ok, I ended up committing the minimal possible change (and fixing up the comment above it).
It's very much *not* the original behavior either, but that original behavior was truly insane ("wake up for each hunk written"), and I'm trying to at least keep the kernel code from doing actively stupid things.
Since that old patch of mine worked for your test-case, then clearly that realm-core library didn't rely on _that_ kind of insane internal kernel implementation details exposed as semantics. So The minimal patch basically says "each write() system call wil do at least one wake-up, whether really necessary or not".
I also intentionally kept the read side untouched, in that there apparently still isn't a case that would need the confused semantics for read events.
End result: the commit message is a lot bigger than the patch, with most of it being trying to explain the background.
I've pushed it out as commit 3a34b13a88ca ("pipe: make pipe writes always wake up readers"). Holler if you notice anything odd remaining.
Since what you merged isn't different than what I tested, I don't expect any surprises but I will test it regardless. I will come back if I see anything unexpected.
Thanks for the explanation about the default behavior earlier in the thread.
- ssp