Re: 2.6.18-git21, possible recursive locking in kseriod ends up in DWARF2 unwinder stuck

From: Dmitry Torokhov
Date: Fri Oct 06 2006 - 09:29:46 EST


On 10/6/06, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
> - how about adding lockdep_set_subclass() to avoid littering source
> with struct lock_class_key when we only want to tweak subclass? For
> that we might want export register_lock_class and hide it behind a
> #define...
>

or something like this:

#define concat_i(a) #a
#define concat(a,b) concat_i(a ## b)

#define lockdep_set_subclass(lock, subclass) \
({ static struct lock_key_class __key; \
lockdep_init_map(&(lock)->dep_map, concat(lock, subclass), \
&__key, subclass); })


That leaves unneeded __key (another one was already created by
mutex_init...) but it tucked away nicely in the define so it is fune
by me.

Ingo, do you want to send these changes on or you want me to push them
through my tree?

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