Messages in this thread Patch in this message | | | Date | Wed, 13 Aug 2008 12:56:12 +0200 | From | Ingo Molnar <> | Subject | Re: [RFC][PATCH 1/7] lockdep: Fix combinatorial explosion in lock subgraph traversal. |
| |
* Tim Pepper <tpepper@gmail.com> wrote:
> On Tue, Aug 5, 2008 at 1:46 AM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > > On Tue, 2008-08-05 at 01:34 -0700, David Miller wrote: > >> See: > >> > >> http://marc.info/?l=linux-kernel&m=121758260130275&w=2 > > > > Probably missed that, thanks for reminding me. > > > > Andrew, please pick up: > > > > --- > > From: Ingo Molnar <mingo@elte.hu> > > Date: Fri, 1 Aug 2008 11:23:50 +0200 > > Subject: [PATCH] lockdep: build fix > > > > fix: > > > > kernel/built-in.o: In function `lockdep_stats_show': > > lockdep_proc.c:(.text+0x3cb2f): undefined reference to `lockdep_count_forward_deps' > > kernel/built-in.o: In function `l_show': > > lockdep_proc.c:(.text+0x3d02b): undefined reference to `lockdep_count_forward_deps' > > lockdep_proc.c:(.text+0x3d047): undefined reference to `lockdep_count_backward_deps' > > > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > > --- > > kernel/lockdep_internals.h | 13 +++++++++++++ > > 1 files changed, 13 insertions(+), 0 deletions(-) > > > > diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h > > index 68d44ec..f5c6a14 100644 > > --- a/kernel/lockdep_internals.h > > +++ b/kernel/lockdep_internals.h > > @@ -53,8 +53,21 @@ extern unsigned int nr_process_chains; > > extern unsigned int max_lockdep_depth; > > extern unsigned int max_recursion_depth; > > > > +#ifdef CONFIG_PROVE_LOCKING > > extern unsigned long lockdep_count_forward_deps(struct lock_class *); > > extern unsigned long lockdep_count_backward_deps(struct lock_class *); > > +#else > > +static inline unsigned long > > +lockdep_count_forward_deps(struct lock_class *class) > > +{ > > + return 0; > > +} > > +static inline unsigned long > > +lockdep_count_backward_deps(struct lock_class *class) > > +{ > > + return 0; > > +} > > +#endif > > > > #ifdef CONFIG_DEBUG_LOCKDEP > > /* > > > > > > > Looks like this is needed for 2.6.27-rc3 to build here. [...]
ok, i've put this into tip/core/urgent, i mistakenly applied it to tip/master so it didnt go to Linus in time. Below is the commit from tip/core/urgent.
Ingo
-----------------> From d6672c501852d577097f6757c311d937aca0b04b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 1 Aug 2008 11:23:50 +0200 Subject: [PATCH] lockdep: build fix
fix:
kernel/built-in.o: In function `lockdep_stats_show': lockdep_proc.c:(.text+0x3cb2f): undefined reference to `lockdep_count_forward_deps' kernel/built-in.o: In function `l_show': lockdep_proc.c:(.text+0x3d02b): undefined reference to `lockdep_count_forward_deps' lockdep_proc.c:(.text+0x3d047): undefined reference to `lockdep_count_backward_deps'
Signed-off-by: Ingo Molnar <mingo@elte.hu> --- kernel/lockdep_internals.h | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h index 55db193..56b1969 100644 --- a/kernel/lockdep_internals.h +++ b/kernel/lockdep_internals.h @@ -50,8 +50,21 @@ extern unsigned int nr_process_chains; extern unsigned int max_lockdep_depth; extern unsigned int max_recursion_depth; +#ifdef CONFIG_PROVE_LOCKING extern unsigned long lockdep_count_forward_deps(struct lock_class *); extern unsigned long lockdep_count_backward_deps(struct lock_class *); +#else +static inline unsigned long +lockdep_count_forward_deps(struct lock_class *class) +{ + return 0; +} +static inline unsigned long +lockdep_count_backward_deps(struct lock_class *class) +{ + return 0; +} +#endif #ifdef CONFIG_DEBUG_LOCKDEP /*
| |