From: Andi Kleen <andi@firstfloor.org>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Christian Kujau <lists@nerdbynature.de>,
Alexander Beregalov <a.beregalov@gmail.com>,
Chris Mason <chris.mason@oracle.com>, Ingo Molnar <mingo@elte.hu>
Subject: Re: reiserfs broken in 2.6.32 was Re: [GIT PULL] reiserfs fixes
Date: Sat, 2 Jan 2010 20:23:37 +0100 [thread overview]
Message-ID: <20100102192337.GB30016@basil.fritz.box> (raw)
In-Reply-To: <20100102190213.GC5076@nowhere>
On Sat, Jan 02, 2010 at 08:02:15PM +0100, Frederic Weisbecker wrote:
> On Sat, Jan 02, 2010 at 06:43:12PM +0100, Andi Kleen wrote:
> > > I only have reiserfs partitions in my laptop and my testbox,
> > > nothing else. And that because I'm now maintaining it de facto.
> >
> > AFAIK it's widely used in SUSE installations. It was the default
> > for a long time.
> >
> > And right now as in 2.6.32 it's in a state of
> > "may randomly explode/deadlock". And no clear path out of it. Not good.
> >
> > I am very concerned about destabilizing a widely used file system
> > like this. This has the potential to really hurt users.
>
>
> I understand your worries. And I've been very cautious with that,
> waiting for three cycles before requesting an upstream merge. I did
> it because the isolated tree model did not scale anymore.
>
> Now that it's upstream, I get more testing and I expect that, in
> the end of this cycle, I get most of these issues reported and
> fixed.
Will you?
How many users systems could it break by then?
>
> Serious users who run serious datas won't ship 2.6.33, they will ship
> a further stable version 2.6.33.x (if they haven't converted their
> filesystems already).
> And at this time, things should be 99% fixed.
That seems very risky. For some rarely used obscure subsystems
that might work but a widely used file system that keeps people's $HOME?
I don't think seriously destabilizing that for a potentially longer
time is a good idea. There's the potential to break
a lot of porcelain.
Probably you could do a ext3/ext4 like thing by starting
with a "reiserfs3.5" copy and do the work there and then
merge back once things work and have been reasonably verified
by code review.
> That's the theory. Fitting into this strict scheme brings performance
> regressions. The bkl is a spinlock, it disables preemption, it is
> relaxed on sleep, and doesn't have locking dependencies. Moreover
> it's not a lock but a simulation of a NO_PREEMPT UP flow, with all
> the fixup guardians that come with (fixup if we schedule, as
> scheduling brings races).
>
> From the conversion is borned a mutex. Even though we have
> adaptive spinning, we don't catch up spinlock performances
> as it's not a pure optimized looping fast path, and it may
> actually just sleep.
Fix the adaptive spinlock then?
>
> The bkl is relaxed only when we sleep. Now simulating that with
> a mutex that gets explicitly relaxed is not the same thing as
> we need to relax the lock each time we _might_ sleep. It means
> we relax more and that brings performance regressions.
At least in the cases where the decision is in reiserfs code
directly you could predict it by using need_resched(), couldn't you?
That might not be 100% accurate, but good enough.
> That said, if the general opinion is in favour of unmerging
> the bkl removal changes in reiserfs. Then please do.
For me it seems too aggressive at this point.
If it was just a case of fixing a few known bugs, but
if you're not even sure how many problems are left ...
Perhaps do the reiserfs35 variant?
> Just to express my point of view, as my primary goal is not
> to fix reiserfs but the kernel: If you are afraid of such
> changes, your kernel will just become mildewed by the time.
Better some mildew than a seriously-broken-for-enough people's
release (although I have my doubts that's the right metapher
for the BKL anyways)
Having stable releases is an important part for
getting enough testers (we already have too little). And
if we start breaking their $HOMEs they might become
even less.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
next prev parent reply other threads:[~2010-01-02 19:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-02 1:27 Frederic Weisbecker
2010-01-02 13:41 ` Andi Kleen
2010-01-02 16:36 ` Frederic Weisbecker
2010-01-02 17:43 ` reiserfs broken in 2.6.32 was " Andi Kleen
2010-01-02 19:02 ` Frederic Weisbecker
2010-01-02 19:23 ` Andi Kleen [this message]
2010-01-02 20:11 ` Frederic Weisbecker
2010-01-02 20:33 ` Andi Kleen
2010-01-02 20:54 ` Frederic Weisbecker
2010-01-02 21:10 ` Ingo Molnar
2010-01-02 21:42 ` Ingo Molnar
2010-01-02 21:01 ` tytso
2010-01-02 21:06 ` Frederic Weisbecker
2010-01-02 23:36 ` tytso
2010-01-02 23:43 ` Christian Kujau
2010-01-03 1:16 ` Frederic Weisbecker
2010-01-03 1:52 ` Frederic Weisbecker
2010-01-03 2:05 ` Christian Kujau
2010-01-03 3:27 ` tytso
2010-01-04 20:20 ` Frederic Weisbecker
2010-01-02 20:11 ` Ingo Molnar
2010-01-02 22:18 ` Ingo Molnar
2010-01-02 19:19 ` Linus Torvalds
2010-01-02 19:21 ` Linus Torvalds
2010-01-02 19:24 ` Frederic Weisbecker
2010-01-02 19:22 ` Frederic Weisbecker
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=20100102192337.GB30016@basil.fritz.box \
--to=andi@firstfloor.org \
--cc=a.beregalov@gmail.com \
--cc=chris.mason@oracle.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lists@nerdbynature.de \
--cc=mingo@elte.hu \
--cc=torvalds@linux-foundation.org \
/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
all inboxes | Powered by JetHome®