[lkml]   [2008]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: combinatorial explosion in lockdep
From: Ingo Molnar <>
Date: Fri, 1 Aug 2008 11:22:19 +0200

> * Ingo Molnar <> wrote:
> >
> > * David Miller <> wrote:
> >
> > > lockdep: Fix combinatorial explosion in lock subgraph traversal.
> >
> > applied to tip/core/locking - thanks David. I guess we need to test
> > this a bit, the patch is far from simple :-)
> small build fallout fix below.


BTW, until something like Peter's attempt is working, we need to also
scale some of the lockdep limits by NR_CPUS. The formula I came up
with that worked with my 32-cpu, 64-cpu and 128-cpu machines was:

((NR_CPUS <= 16) ? 0 : ilog2(NR_CPUS) - 4)



But this is going to explode for NR_CPUS=4096, but it is the only way
to get a working lockdep currently, due to the runqueue lock classes.

Also, when these limits reached triggered, we get the same printk
wakeup deadlock problem I hit with Peter's patch.

I think a non-trivial number of people hit that printk deadlock bug,
but just didn't report it because the machine essentially hard hangs
silently. At best you'd see the:


initial line from lockdep, but often even that doesn't make it to the

 \ /
  Last update: 2008-08-01 11:35    [W:0.115 / U:1.460 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site