Re: [RFC][PATCH 1/7] lockdep: Fix combinatorial explosion in lock subgraph traversal.

From: Tim Pepper
Date: Tue Aug 12 2008 - 23:48:59 EST


On Tue, Aug 5, 2008 at 1:46 AM, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> 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@xxxxxxx>
> 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@xxxxxxx>
> ---
> 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. Also noted,
regardless of the patch:

kernel/lockdep.c:580: warning: 'print_lock_dependencies' defined but not used



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