Re: [PATCH 2/2] workqueue: debug work related deadlocks with lockdep

2007-07-12 Thread Johannes Berg
On Fri, 2007-07-06 at 16:53 +0400, Oleg Nesterov wrote: > Yes, got it, but forgot to reply to myself. But thanks for your confirmation > of my understanding. :) > I believe both patches are nice. Is there anything I should be doing now to get these patches in? johannes signature.asc Descript

Re: [PATCH 2/2] workqueue: debug work related deadlocks with lockdep

2007-07-06 Thread Oleg Nesterov
On 07/06, Johannes Berg wrote: > > On Thu, 2007-07-05 at 19:36 +0400, Oleg Nesterov wrote: > > > So, __WORK_INITIALIZER() uses work_struct itself as a "struct > > lock_class_key" ? > > How so? > > Well, this is for work_structs that are static (not dynamically > allocated.) struct lock_class_key

Re: [PATCH 2/2] workqueue: debug work related deadlocks with lockdep

2007-07-06 Thread Johannes Berg
On Thu, 2007-07-05 at 19:36 +0400, Oleg Nesterov wrote: > So, __WORK_INITIALIZER() uses work_struct itself as a "struct lock_class_key" > ? > How so? Well, this is for work_structs that are static (not dynamically allocated.) struct lock_class_key is just a single byte because its whole purpose

Re: [PATCH 2/2] workqueue: debug work related deadlocks with lockdep

2007-07-05 Thread Oleg Nesterov
On 07/05, Johannes Berg wrote: > > +#define __WORK_INIT_LOCKDEP_MAP(n, k) \ > + .lockdep_map = STATIC_LOCKDEP_MAP_INIT(n, k), > +#else > +#define __WORK_INIT_LOCKDEP_MAP(n, k) > +#endif > + > #define __WORK_INITIALIZER(n, f) { \ > .data = WORK_DATA_INIT(),