All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Matthew Wilcox <willy@linux.intel.com>,
	Christoph Hellwig <hch@lst.de>, Miklos Szeredi <mszeredi@suse.cz>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Ingo Molnar <mingo@redhat.com>, John Kacur <jkacur@redhat.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] Remove BKL from fs/locks.c
Date: Thu, 16 Sep 2010 10:28:56 +0200	[thread overview]
Message-ID: <201009161028.56837.arnd@arndb.de> (raw)
In-Reply-To: <20100915204203.GA27837@fieldses.org>

On Wednesday 15 September 2010 22:42:03 J. Bruce Fields wrote:
> Looking over the server code....  The only code I see under the BKL is:
> 
>         - a few lease callbacks in fs/nfsd/nfs4state.c, none of which
>           sleep at this point, so all should be fine under a spinlock or
>           whatever we want.
>         - fs/nfsd/nfs4state.c:check_for_locks(), which explicitly takes
>           the BKL itself.  All it does, though, is walk the lock list
>           for a given file and check whether any of them have a given
>           owner.  It would be trivial to put it under some other lock
>           and/or move it to locks.c.

Ok. In the version of the patch I sent out yesterday, I came to the
same conclusion and put both of these under lock_flocks(), which
is still the BKL but can be converted to a spinlock after we have
sorted out ceph and lockd. If you and others are fine with this patch,
I'll add it to my bkl/config series.

Note that walking the i_flock list needs to use lock_flocks()
(or the BKL), not a private lock. I guess that's what you are saying
anyway, just making sure.

	Arnd

  reply	other threads:[~2010-09-16  8:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-14 20:06 [PATCH] Remove BKL from fs/locks.c Arnd Bergmann
2010-09-14 20:20 ` Linus Torvalds
2010-09-14 20:39   ` Arnd Bergmann
2010-09-14 20:53     ` Linus Torvalds
2010-09-14 21:24       ` Arnd Bergmann
2010-09-14 21:55         ` Trond Myklebust
2010-09-15 16:30           ` Arnd Bergmann
2010-09-15 17:02             ` Sage Weil
2010-09-15 17:17               ` Arnd Bergmann
2010-09-15 18:22                 ` Sage Weil
2010-09-15 20:42           ` J. Bruce Fields
2010-09-16  8:28             ` Arnd Bergmann [this message]
2010-09-16 14:10               ` J. Bruce Fields

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=201009161028.56837.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=Trond.Myklebust@netapp.com \
    --cc=akpm@linux-foundation.org \
    --cc=bfields@fieldses.org \
    --cc=fweisbec@gmail.com \
    --cc=hch@lst.de \
    --cc=jkacur@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mszeredi@suse.cz \
    --cc=sfr@canb.auug.org.au \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=willy@linux.intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.