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

From: Johannes Berg
Date: Fri Jul 06 2007 - 06:43:07 EST


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 is to be a unique pointer, there's nothing actually in it.
Hence, taking the address of the work struct (when it's statically
allocated) is a unique pointer just as well.

johannes

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