[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090417003805.GI26366@ZenIV.linux.org.uk>
Date: Fri, 17 Apr 2009 01:38:05 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Ingo Molnar <mingo@...e.hu>
Cc: Alessio Igor Bogani <abogani@...ware.it>,
Alexander Viro <viro@....linux.org.uk>,
Frederic Weisbecker <fweisbec@...il.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
LKML <linux-kernel@...r.kernel.org>,
Jonathan Corbet <corbet@....net>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH -tip] remove the BKL: Replace BKL in mount/umount
syscalls with a mutex
On Fri, Apr 17, 2009 at 02:27:44AM +0200, Ingo Molnar wrote:
> Could you give an example of such a weird interaction?
If I could give you one at the moment, I'd sent patches regardless of BKL
crusades. I _have_ run into such crap before and it had been just that -
crap.
> I fear, unless i'm misunderstanding your feedback, that you are
> setting the purist's irrealistically high burden to get rid of the
> BKL from the VFS here.
>
> "Arbitrary weird ones" means all BKL using sites in the kernel - all
> ~800 ones - up to 800x800 == close to a million interactions to
> check.
Sigh... How about dumping that lovely strawman? I've exsoddingplicitly
told you that all such stuff is *within* *individual* *fs* *driver*.
Start with taking these guys down into the superblock methods in question.
Drop that junk on VFS-only side of things completely (mount --move,
mount --bind, etc.). Then we go looking for data structures that are
a) internal to fs driver
b) accessed by methods in question (in that fs driver)
c) are shared between different filesystems.
Analysis is on per-fs basis. And getting rid of these turds doesn't have
to happen in one patch.
--
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