Re: [RFC/PATCH] debug workqueue deadlocks with lockdep

From: Johannes Berg
Date: Thu Jun 28 2007 - 12:33:51 EST


On Wed, 2007-06-27 at 20:40 +0200, Johannes Berg wrote:

> --- linux-2.6-git.orig/kernel/workqueue.c 2007-06-27 19:10:35.183199046 +0200
> +++ linux-2.6-git/kernel/workqueue.c 2007-06-27 20:30:00.896667168 +0200
> @@ -61,8 +61,15 @@ struct workqueue_struct {
> const char *name;
> int singlethread;
> int freezeable; /* Freeze threads during suspend */
> +#ifdef CONFIG_LOCKDEP
> + struct lockdep_map lockdep_map;
> +#endif
> };
>
> +#ifdef CONFIG_LOCKDEP
> +static struct lock_class_key wq_lockdep_key;
> +#endif

I think I misunderstood how lockdep works because the output was
actually wrong, should the key be part of the workqueue_struct as well?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part