Re: [PATCH 5/5] lockdep: Fix the way to initialize class_mutex forinformation of file and line

From: Hitoshi Mitake
Date: Sat Jan 16 2010 - 07:55:43 EST

On 2010å01æ14æ 08:19, Greg KH wrote:
On Wed, Jan 13, 2010 at 03:17:55PM -0800, Greg KH wrote:
On Wed, Jan 13, 2010 at 11:00:22AM +0100, Ingo Molnar wrote:

* Hitoshi Mitake<mitake@xxxxxxxxxxxxxxxxxxxxx> wrote:

This patch adds __FILE__ and __LINE__ to arguments passed for
__mutex_init() called in __class_register().
This affects to lockdep_map of class_mutex of struct class_private,
and these will be used to make trace lock events more human friendly.

Signed-off-by: Hitoshi Mitake<mitake@xxxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra<a.p.zijlstra@xxxxxxxxx>
Cc: Paul Mackerras<paulus@xxxxxxxxx>
Cc: Frederic Weisbecker<fweisbec@xxxxxxxxx>
Cc: Greg Kroah-Hartman<gregkh@xxxxxxx>
drivers/base/class.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/base/class.c b/drivers/base/class.c
index 161746d..cc0630f 100644
--- a/drivers/base/class.c
+++ b/drivers/base/class.c
@@ -162,7 +162,8 @@ int __class_register(struct class *cls, struct lock_class_key *key)
klist_init(&cp->class_devices, klist_class_dev_get, klist_class_dev_put);
- __mutex_init(&cp->class_mutex, "struct class mutex", key);
+ __mutex_init(&cp->class_mutex, "struct class mutex", key,
+ __FILE__, __LINE__);
error = kobject_set_name(&cp->class_subsys.kobj, "%s", cls->name);
if (error) {

Greg, any objection to this type of embellishment of lock data that comes from
the driver core?

No, I'll queue it up in my tree.

Er, oops, sorry, that would go through your tree, not mine :)

Feel free to add:
Acked-by: Greg Kroah-Hartman<gregkh@xxxxxxx>

In looking at it, this might solve the lockdep issue with the device
tree as well, I'll have to play with it once this makes it into Linus's


greg k-h


I'll add your ack in future version of this patch, thanks!
(perf lock has some build errors)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at