From: Andrew Morton <akpm@linux-foundation.org>
To: Dave Young <hidave.darkstar@gmail.com>
Cc: greg@kroah.com, matthew@wil.cx, kay.sievers@vrfy.org,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 1/3][-mm] add class_reclassify macro
Date: Tue, 20 May 2008 03:02:32 -0700 [thread overview]
Message-ID: <20080520030232.fc91b64e.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080520095553.GA3201@darkstar.te-china.tietoenator.com>
On Tue, 20 May 2008 17:55:54 +0800 Dave Young <hidave.darkstar@gmail.com> wrote:
> Converting class semaphore to mutex cause lockdep warnings due to
> class_interface_register/unregister will possible call device_add/del
Shouldn't we just fix that?
> For the class_interface users here add a class_reclassify macro to
> reclassify the lock class of their struct class.
>
> Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
>
> ---
> include/linux/device.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> --- linux/include/linux/device.h 2008-05-19 12:29:54.000000000 +0800
> +++ linux.new/include/linux/device.h 2008-05-19 14:42:25.000000000 +0800
> @@ -529,4 +529,11 @@ extern const char *dev_driver_string(str
> MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
> #define MODULE_ALIAS_CHARDEV_MAJOR(major) \
> MODULE_ALIAS("char-major-" __stringify(major) "-*")
> +
> +#define class_reclassify(class) \
> +do { \
> + static struct lock_class_key class_key; \
> + lockdep_set_class_and_name(&(class)->mutex, &class_key, \
> + (class)->name); \
> +} while (0)
> #endif /* _DEVICE_H_ */
I think it would need a lavish comment explaining what it is for, and
the reasons for its existence.
Perhaps this should be a kernel-wide thing in lockdep.h. But then that
would invite people to use it, and it looks like a bad thing.
device.h does not include lockdep.h, so putting this here assumes that
callees have already included lockdep.h. This is the sort of
assumption which leads to compilation errors.
next prev parent reply other threads:[~2008-05-20 10:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-20 9:55 [PATCH 1/3][-mm] add class_reclassify macro Dave Young
2008-05-20 10:02 ` Andrew Morton [this message]
2008-05-20 11:05 ` Dave Young
2008-05-20 17:30 ` Andrew Morton
2008-05-20 17:36 ` Matthew Wilcox
2008-05-20 19:23 ` Andrew Morton
2008-05-21 2:05 ` Dave Young
2008-05-20 11:36 ` Matthew Wilcox
2008-05-20 17:21 ` Greg KH
2008-05-27 6:42 ` Dave Young
2008-05-27 6:59 ` Andrew Morton
2008-05-27 7:31 ` Dave Young
2008-05-28 15:48 ` Matthew Wilcox
2008-05-28 16:06 ` Greg KH
2008-05-28 16:28 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080520030232.fc91b64e.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=greg@kroah.com \
--cc=hidave.darkstar@gmail.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=matthew@wil.cx \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).