Re: pm-hibernate : possible circular locking dependency detected

From: Peter Zijlstra
Date: Wed Apr 08 2009 - 08:46:59 EST


On Wed, 2009-04-08 at 12:47 +0930, Rusty Russell wrote:
> On Tuesday 07 April 2009 16:35:53 Peter Zijlstra wrote:
> > On Tue, 2009-04-07 at 13:56 +0930, Rusty Russell wrote:
> > > Looks like this will be fixed by Andrew's work-on-cpu-in-own-thread
> > > patch which I just put out the pull request for.
> >
> > Would it make sense to teach it about a short-circuit like:
> >
> > work_on_cpu() {
> >
> > if (cpumask_weight(current->cpus_allowed) == 1 &&
> > smp_processor_id() == cpu)
> > return do_work_right_here();
>
> Does that happen much? I guess put a counter in and see?

Ego spotted the case where cpufreq calls it from an cpu-affine
workqueue, it seems to me in that case its desirable to have the
short-cut, and currently that's needed for correctness too as it will
generate this circular lock thingy.

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