Re: [PATCH 1/2] pm_qos: remove BKL

From: Frederic Weisbecker
Date: Fri Aug 07 2009 - 20:31:42 EST


On Fri, Aug 07, 2009 at 09:08:18AM -0600, Jonathan Corbet wrote:
> On Fri, 7 Aug 2009 07:54:13 +0200
> Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > May be the last doubt could be the blocking_notifier_call_chain() call from
> > update_target(). Not sure if these notifier handlers can expect to be called
> > concurrently?
>
> I will confess that I hadn't audited the notifiers. One could easily
> argue that concurrent calls to update_target() are entirely possible
> with the current code (only one of the callers had BKL protection),
> but, then, I'm supposed to be trying to make things better.
>
> The notifier call chain is already protected against concurrent
> modification, but, since an rwsem is used, concurrent calls to the
> notifiers themselves are possible. A quick grep shows that, in 2.6.31-rc5,
> there is exactly one notifier registered. It's in
> drivers/cpuidle/cpuidle.c; here's the whole thing:
>
> static void smp_callback(void *v)
> {
> /* we already woke the CPU up, nothing more to do */
> }
>
> After deep meditation on possible race condition scenarios, I am force to
> conclude that this particular notifier already has all of the protection it
> needs, and that any extra locking is likely to be superfluous.


Hehe :-)

So it would be nice to apply these patches.
Ingo?


> Thanks for looking at the patch,
>
> jon

--
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/