Re: [tip:timers/nohz] nohz: Move full nohz kick to its own IPI

From: Peter Zijlstra
Date: Wed May 07 2014 - 11:17:50 EST


On Mon, May 05, 2014 at 05:34:08PM +0200, Frederic Weisbecker wrote:
> On Mon, May 05, 2014 at 05:12:28PM +0200, Peter Zijlstra wrote:
> > > Note the current ordering:
> > >
> > > cmpxchg(&qsd->pending, 0, 1) get ipi
> > > csd_lock(qsd->csd) xchg(&qsd->pending, 1)
> > > send ipi csd_unlock(qsd->csd)
> > >
> > >
> > > So there shouldn't be racing updaters. Also ipi sender shouldn't
> > > race with ipi receiver, the update shouldn't always eventually see
> > > the unlock happening.
> >
> > Yeah, I've not spotted how this particular train wreck happens either.
> >
> > The problem is reproduction, it took me 9 hours to confirm I could
> > reproduce the problem on my machine. So how long to I run it with this
> > patch reverted to show its gone..
>
> Maybe it could be favoured cpu hotplug. Anyway converting to irq_work should
> fix it.

Ingo needs a commit msg for the revert of this patch; do you think you
have time to look into _why_ this patch is broken and write such a
thing?

Attachment: pgpp99SJuJI5G.pgp
Description: PGP signature