Re: [PATCH] smp_call_function_many SMP race

From: Paul E. McKenney
Date: Tue Mar 23 2010 - 11:34:14 EST


On Tue, Mar 23, 2010 at 01:26:43PM +0100, Peter Zijlstra wrote:
> On Tue, 2010-03-23 at 22:15 +1100, Anton Blanchard wrote:
> >
> > It turns out commit c0f68c2fab4898bcc4671a8fb941f428856b4ad5 (generic-ipi:
> > cleanup for generic_smp_call_function_interrupt()) is at fault. It removes
> > locking from smp_call_function_many and in doing so creates a rather
> > complicated race.
>
> A rather simple question since my brain isn't quite ready processing the
> content here..
>
> Isn't reverting that one patch a simpler solution than adding all that
> extra logic? If not, then the above statement seems false and we had a
> bug even with that preempt_enable/disable() pair.
>
> Just wondering.. :-)

If I understand correctly, if you want to fix it by reverting patches,
you have to revert back to simple locking (up to and including
54fdade1c3332391948ec43530c02c4794a38172). And I believe that the poor
performance of simple locking was whole reason for the series of patches.

Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/