lkml.org 
[lkml]   [2009]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: pm-hibernate : possible circular locking dependency detected

* Rusty Russell <rusty@rustcorp.com.au> wrote:

> 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).

That's now upstream as per:

6b44003: work_on_cpu(): rewrite it to create a kernel thread on demand

So re-checking whether the warning still triggers with latest -git
would be nice.

Ingo


\
 
 \ /
  Last update: 2009-04-09 06:21    [W:0.090 / U:0.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site