From: Matthias Andree <matthias.andree@stud.uni-dortmund.de>
To: Beau Kuiper <kuib-kl@ljbc.wa.edu.au>
Cc: linux-kernel@vger.kernel.org, tovarlds@transmeta.com
Subject: Re: [PATCH] Significant performace improvements on reiserfs systems, kupdated bugfixes
Date: Fri, 21 Sep 2001 15:26:27 +0200 [thread overview]
Message-ID: <20010921152627.C13862@emma1.emma.line.org> (raw)
In-Reply-To: <Pine.LNX.4.30.0109201445170.13543-100000@gamma.student.ljbc>
In-Reply-To: <Pine.LNX.4.30.0109201445170.13543-100000@gamma.student.ljbc>
On Thu, 20 Sep 2001, Beau Kuiper wrote:
> Patch 3
>
> This patch was generated as I was exploring the buffer cache, wondering
> why reiserfs was so slow on 2.4. I found that kupdated may write buffers
> that are not actually old back to disk. Eg
>
> Imagine that there are 20 dirty buffers. 16 of them are more that 30
> seconds old (and should be written back), but the other 4 are younger than
> 30 seconds. The current code would force all 20 out to disk, interrupting
> programs still using the young 4 until the disk write was complete.
>
> I know that it isn't a major problem, but I found it and I have written
> the patch for it :-)
Be careful! MTAs rely on this behaviour on fsync(). The official
consensus on ReiserFS and ext3 on current Linux 2.4.x kernels (x >= 9)
is that "any synchronous operation flushes all pending operations", and
if that is changed, you MUST make sure that the changed ReiserFS/ext3fs
still make all the guarantees that softupdated BSD file systems make,
lest you want people to run their mail queues off "sync" disks.
Note also, if these blocks belong to newly-opened files, you definitely
want kupdated to flush these to disk on its next run so that the files
are still there after a crash.
I'm not exactly sure what your patch 3 does and how the buffers work,
but I'm absolutely sure we want the "fsync on an open file also syncs
all pending rename/link/open operations the corresponding file has
undergone."
Softupdates FFS (BSD) does that, and ReiserFS/ext3fs also do that by
just flushing all pending operations on a synchronous one, and it's not
slow.
This may cause additional writes, but the reliability issues must be
taken into account here. We don't gain anything if files get lost over a
crash just because you want to save 4 writes.
next prev parent reply other threads:[~2001-09-21 13:26 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-20 7:12 Beau Kuiper
2001-09-20 12:16 ` Chris Mason
2001-09-20 15:20 ` Beau Kuiper
2001-09-20 16:15 ` Andreas Dilger
2001-09-20 16:22 ` Beau Kuiper
2001-09-21 20:12 ` Lehmann
2001-09-21 20:57 ` Rik van Riel
2001-09-21 22:50 ` Lehmann
2001-09-21 13:26 ` Matthias Andree [this message]
2001-09-22 18:38 ` Beau Kuiper
2001-09-22 19:32 ` Matthias Andree
2001-09-23 15:24 ` Chris Mason
2001-09-24 14:37 ` Stephen C. Tweedie
2001-09-20 17:23 Chris Mason
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=20010921152627.C13862@emma1.emma.line.org \
--to=matthias.andree@stud.uni-dortmund.de \
--cc=kuib-kl@ljbc.wa.edu.au \
--cc=linux-kernel@vger.kernel.org \
--cc=tovarlds@transmeta.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 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®