public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Jeff Mahoney <jeffm@suse.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	ReiserFS Development List <reiserfs-devel@vger.kernel.org>,
	Bron Gondwana <brong@fastmail.fm>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH] reiserfs: kill-the-BKL
Date: Thu, 9 Apr 2009 20:40:22 +0200	[thread overview]
Message-ID: <20090409184022.GA2665@elte.hu> (raw)
In-Reply-To: <alpine.LFD.2.00.0904090831000.4583@localhost.localdomain>


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> > Better would be to use spinlocks if possible. I guess you just would 
> > need to find all sleep points and wrap them with lock dropping?
> 
> I do agree that a filesystem should try to avoid sleeping locks if at 
> all possible, especially on the paths that the VM uses for writeback. 
> But on the other hand, I think the issue with reiserfs is just the bad 
> latencies that the BKL can cause, and then it doesn't matter.

The main motivator is the tip:core/kill-the-BKL tree: we are working on 
removing the BKL from all of the kernel, once and forever. We are 
actually quite close to that end goal: reiser3 was the last big 
stumbling block and it's great that Frederic is tackling that.

Using a mutex seems like the sane choice here. I'd advocate spinlocks 
for a new filesystem any day (but even there it's a fine choice to have 
a mutex, if top of the line scalability is not an issue).

But for a legacy filesystem like reiser3, which depended on the BKL 
auto-dropping on schedule() it would be rather fragile to use spinlocks, 
and it would take forever to validate the result. Just one codepath 
missed with having some rare scheduling possibility and we'd have a 
kernel crash down the road.

	Ingo

  reply	other threads:[~2009-04-09 18:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-07  2:19 [PATCH] reiserfs: kill-the-BKL Frederic Weisbecker
2009-04-07 11:24 ` Frederic Weisbecker
2009-04-07 13:40 ` Ingo Molnar
2009-04-07 21:34 ` Alexander Beregalov
2009-04-07 21:57   ` Frederic Weisbecker
2009-04-07 22:19     ` Alexander Beregalov
2009-04-08  0:42       ` Frederic Weisbecker
2009-04-09 15:15 ` Andi Kleen
2009-04-09 15:35   ` Linus Torvalds
2009-04-09 18:40     ` Ingo Molnar [this message]
2009-04-09 19:36       ` Andi Kleen
2009-04-09 20:05         ` Frederic Weisbecker
2009-04-09 21:17         ` Ingo Molnar
2009-04-10  0:39           ` Bron Gondwana
2009-04-10 13:07             ` Ingo Molnar
2009-04-09 21:07   ` Ingo Molnar

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=20090409184022.GA2665@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=brong@fastmail.fm \
    --cc=fweisbec@gmail.com \
    --cc=jeffm@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiserfs-devel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /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