[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200904090915.18644.rusty@rustcorp.com.au>
Date: Thu, 9 Apr 2009 09:15:17 +0930
From: Rusty Russell <rusty@...tcorp.com.au>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Ingo Molnar <mingo@...e.hu>, "Rafael J. Wysocki" <rjw@...k.pl>,
Ming Lei <tom.leiming@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
"Linux-pm mailing list" <linux-pm@...ts.linux-foundation.org>,
Linux Kernel List <linux-kernel@...r.kernel.org>,
Gautham R Shenoy <ego@...ibm.com>
Subject: Re: pm-hibernate : possible circular locking dependency detected
On Wednesday 08 April 2009 22:18:26 Peter Zijlstra wrote:
> 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.
Well, the correctness issue is fixed by Andrew's work_on_cpu-via-new-thread
patch (hmm, which Linus hasn't taken, re-xmitting).
So it's really a pure optimization.
Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists