Re: [PATCH 5.13 073/127] pipe: avoid unnecessary EPOLLET wakeups under normal loads

From: Linus Torvalds
Date: Wed Aug 25 2021 - 14:09:10 EST

On Tue, Aug 24, 2021 at 10:00 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Aug 24, 2021 at 9:57 AM Sasha Levin <sashal@xxxxxxxxxx> wrote:
> >
> > [ Upstream commit 3b844826b6c6affa80755254da322b017358a2f4 ]
> This one has an odd performance regression report associated with it.
> Honestly, I don't understand the performance regression, but that's
> likely on me, not on the kernel test robot.

So my suspicion for the cause was confirmed by the kernel test robot
people, and I've applied the fix as commit fe67f4dd8daa ("pipe: do
FASYNC notifications for every pipe IO, not just state changes").

I suspect we are finally done with this saga (knock wood), and this
all could go into stable. As before, the regressions in question are
all for performance testing and likely there is no real-world impact
outside of that, so this shouldn't be in any way critical. I didn't
mark that thing for stable, but it may or may not be the right thing
to do.

I _think_ I fully understand all the problems we hit, and the fixes
are all obvious and straightforward and should be fine. But clearly a
lot of tests use pipes for doing various IO/scheduler/random latency
and throughput testing, so this all showed up in odd places.