Re: [PATCH 1/1] fs: pipe: wakeup readers everytime new data written is to pipe

From: Sandeep Patil
Date: Fri Jul 30 2021 - 15:48:47 EST


On 7/30/21 7:23 PM, Linus Torvalds wrote:
On Fri, Jul 30, 2021 at 12:11 PM Sandeep Patil <sspatil@xxxxxxxxxxx> wrote:

Yes, your patch fixes all apps on Android I can test that include this
library.

Ok, thanks for checking.

fwiw, the library seems to have been fixed. However, I am not sure
how long it will be for all apps to take that update :(.

I wonder if I could make the wakeup logic do this only for the epollet case.

aren't we supposed to wakeup on each write in level-triggered (default) case though?


I'll have to think about it, but maybe I'll just apply that simple
patch. I dislike the pointless wakeups, and as long as the only case I
knew of was only a test of broken behavior, it was fine. But now that
you've reported actual application breakage, this is in the "real
regression" category, and so I'll fix it one way or the other.

And on the other hand I also have a slight preference towards your
patch simply because you did the work of finding this out, so you
should get the credit.

Ha, I can't really claim credit here. This was also reported to us
in Android that triggered the search. Plus, now that I see your thread with Michael Kerrisk, he was way ahead of us in finding this out.


I'll mull it over a bit more, but whatever I'll do I'll do before rc4
and mark it for stable.

Thanks, I was actually going to suggest taking your patch cause it also makes changes in pipe_read(). I am not sure if there are apps that do EPOLLET | EPOLLOUT (can't think of a reason why).

- ssp


Thanks for testing,

Linus