Re: [PATCH v3] psi: get poll_work to run when calling poll syscall next time

From: Andrew Morton
Date: Thu Aug 22 2019 - 19:17:42 EST


On Thu, 22 Aug 2019 16:11:15 -0700 Suren Baghdasaryan <surenb@xxxxxxxxxx> wrote:

> On Thu, Aug 22, 2019 at 3:21 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, 21 Aug 2019 11:26:25 +0800 Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx> wrote:
> >
> > > Only when calling the poll syscall the first time can user
> > > receive POLLPRI correctly. After that, user always fails to
> > > acquire the event signal.
> > >
> > > Reproduce case:
> > > 1. Get the monitor code in Documentation/accounting/psi.txt
> > > 2. Run it, and wait for the event triggered.
> > > 3. Kill and restart the process.
> > >
> > > The question is why we can end up with poll_scheduled = 1 but the work
> > > not running (which would reset it to 0). And the answer is because the
> > > scheduling side sees group->poll_kworker under RCU protection and then
> > > schedules it, but here we cancel the work and destroy the worker. The
> > > cancel needs to pair with resetting the poll_scheduled flag.
> >
> > Should this be backported into -stable kernels?
>
> Adding GregKH and stable@xxxxxxxxxxxxxxx
>
> I was able to cleanly apply this patch to stable master and
> linux-5.2.y branches (these are the only branches that have psi
> triggers).
> Greg, Andrew got this patch into -mm tree. Please advise on how we
> should proceed to land it in stable 5.2.y and master.

That isn't the point - we know how to merge patches ;)

What I'm asking is whether it is desirable that -stable kernels have
this patch. It certainly sounds like it from the changelog, so I'm
wondering if the omission of cc:stable was intentional?