[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0912131116360.13952@localhost.localdomain>
Date: Sun, 13 Dec 2009 11:19:33 -0800 (PST)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Trond Myklebust <trond.myklebust@....uio.no>
cc: Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Andrew Morton <akpm@...ux-foundation.org>,
Greg KH <gregkh@...e.de>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
linux-kernel@...r.kernel.org
Subject: Re: [GIT PATCH] TTY patches for 2.6.33-git
On Sun, 13 Dec 2009, Trond Myklebust wrote:
> On Sun, 2009-12-13 at 20:04 +0100, Frederic Weisbecker wrote:
> > In the above cases we have the following comment:
> >
> > /* Protect inode->i_flock using the BKL */
> >
> > And really it doesn't seem to protect anything else,
> > fortunately it is acquired in a short path.
>
> As I said in my reply, this is the tough one, because the BKL protection
> is imposed by the VFS locking scheme used in fs/locks.c.
>
> There is a similar dependency imposed upon fs/lockd/
Note that since NFS seems to be the only one who really cares, I think the
appropriate course of action is to just replace the BKL - preferably with
a spinlock that you just drop before you do anything that blocks.
Not only does the BKL already do that (so the locking doesn't change), but
I think most _users_ of the BKL actually already do the explicit dropping
of the lock (rather than the implicit one done by schedule()) because it's
already been a scalability issue and we've had some history of trying
alternative approaches that didn't do that whole auto-dropping anyway
(whether those alternate approaches be semaphores or spinlocks).
So don't worry about the "imposed by the VFS" thing. I think you can
fairly easily change the VFS side.
Linus
--
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