[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131203184324.GA11320@redhat.com>
Date: Tue, 3 Dec 2013 13:43:24 -0500
From: Dave Jones <davej@...hat.com>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: tj@...nel.org, gregkh@...uxfoundation.org
Subject: Re: sysfs: use a separate locking class for open files depending on
mmap
On Thu, Nov 28, 2013 at 05:12:23AM +0000, Linux Kernel wrote:
> Gitweb: http://git.kernel.org/linus/;a=commit;h=027a485d12e089314360d459b8d847104dd28702
> Commit: 027a485d12e089314360d459b8d847104dd28702
> Parent: 54d71145a4548330313ca664a4a009772fe8b7dd
> Author: Tejun Heo <tj@...nel.org>
> AuthorDate: Sun Nov 17 11:17:36 2013 +0900
> Committer: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> CommitDate: Sat Nov 23 10:52:13 2013 -0800
>
> sysfs: use a separate locking class for open files depending on mmap
>
> The following two commits implemented mmap support in the regular file
> path and merged bin file support into the regular path.
> ...
> - mutex_init(&of->mutex);
> + /*
> + * The following is done to give a different lockdep key to
> + * @of->mutex for files which implement mmap. This is a rather
> + * crude way to avoid false positive lockdep warning around
> + * mm->mmap_sem - mmap nests @of->mutex under mm->mmap_sem and
> + * reading /sys/block/sda/trace/act_mask grabs sr_mutex, under
> + * which mm->mmap_sem nests, while holding @of->mutex. As each
> + * open file has a separate mutex, it's okay as long as those don't
> + * happen on the same file. At this point, we can't easily give
> + * each file a separate locking class. Let's differentiate on
> + * whether the file has mmap or not for now.
> + */
> + if (has_mmap)
> + mutex_init(&of->mutex);
> + else
> + mutex_init(&of->mutex);
> +
Somehow I just triggered this trace again, even with this commit applied.
The trace is pretty much identical to the old one.
Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists