From: Chris Mason <mason@suse.com>
To: Roland Kuhn <rkuhn@e18.physik.tu-muenchen.de>
Cc: Oleg Drokin <green@namesys.com>, linux-kernel@vger.kernel.org
Subject: Re: reiserfs blocks long on getdents64() during concurrent write
Date: 05 Aug 2002 18:14:39 -0400 [thread overview]
Message-ID: <1028585680.24117.295.camel@tiny> (raw)
In-Reply-To: <Pine.LNX.4.44.0208052157040.1357-100000@pc40.e18.physik.tu-muenchen.de>
On Mon, 2002-08-05 at 16:02, Roland Kuhn wrote:
> Hi!
>
> On Mon, 5 Aug 2002, Roland Kuhn wrote:
>
> > > So, on ftp.suse.com/pub/people/mason/patches/data-logging
> > >
> > > Apply:
> > > 01-relocation-4.diff
> > > 02-commit_super-8.diff # this is the one you want, but it depends on 01.
> > >
> > Okay, will try.
> >
> > > And try again. If that doesn't do it, try 04-write_times.diff (which
> > > doesn't depend on anything).
> > >
> > Is there a documentation about what this patch does as a whole?
> >
> Sorry, stupid question for the 04 one. What my brain wanted to say: The
> patches 01 and 02 seem to aim at dirtying the super block less often. If
> there is serious writing activity, will this lead to fewer but longer
> commits? The problem with our current (kinda stupid) software is that
> lower write() latency is more important than a few percent more
> throughput.
01-relocation-4 deals with allowing reiserfs to use an external logging
device. It isn't related to your problem, but 02-commit_super-8 is
diffed against it.
02-commit_super-8 does two things. First it changes sync_supers() so
that it won't loop on a single filesystem while it's super is dirty.
Before, if kupdate triggered a write_super call, and another FS writer
redirtied the super after write_super cleared it (but before it
returned), write_super gets called a second time. Since a commit was
done for each write_super call, that gets expensive quickly.
Second, the patch adds a commit_super call, and changes sync() to use
that instead of write_super. This allows the FS to skip the commit when
write_super is called.
This does lead to fewer commits and longer running transactions, but
does not increase the amount of time it takes the write() call to
complete. It does increase the time between when you make a metadata
change and when that change actually goes to the disk.
-chris
next prev parent reply other threads:[~2002-08-05 22:10 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-04 16:09 reiserfs blocks long on getdents64() during concurrent write Roland Kuhn
2002-08-05 5:44 ` Oleg Drokin
2002-08-05 9:22 ` Roland Kuhn
2002-08-05 9:54 ` Oleg Drokin
2002-08-05 10:51 ` Roland Kuhn
2002-08-05 11:04 ` Oleg Drokin
2002-08-05 18:19 ` Roland Kuhn
2002-08-05 18:30 ` Oleg Drokin
2002-08-05 18:54 ` Chris Mason
2002-08-05 19:48 ` Roland Kuhn
2002-08-05 20:02 ` Roland Kuhn
2002-08-05 22:14 ` Chris Mason [this message]
2002-08-05 22:46 ` Roland Kuhn
2002-08-06 0:47 ` Chris Mason
2002-08-06 10:01 ` Roland Kuhn
2002-08-05 19:11 ` Roland Kuhn
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=1028585680.24117.295.camel@tiny \
--to=mason@suse.com \
--cc=green@namesys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rkuhn@e18.physik.tu-muenchen.de \
/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