From: Andrew Morton <akpm@zip.com.au>
To: Rik van Riel <riel@conectiva.com.br>
Cc: Tony.Lill@ajlc.waterloo.on.ca, linux-kernel@vger.kernel.org
Subject: Re: laptops and journalling filesystems
Date: Tue, 31 Jul 2001 16:13:58 +1000 [thread overview]
Message-ID: <3B664CA6.564DA9BA@zip.com.au> (raw)
In-Reply-To: <3B662642.4AB6E800@zip.com.au> <Pine.LNX.4.33L.0107310046570.5582-100000@duckman.distro.conectiva>
Rik van Riel wrote:
>
> On Tue, 31 Jul 2001, Andrew Morton wrote:
> > Tony Lill wrote:
> > >
> > > Do any of the current batch of journalling filesystems NOT diddle the
> > > disk every 5 seconds?
>
> > Unfortunately ext3 defeats the trick of setting the kupdate
> > interval to something huge. On my list of things-to-do.
> >
> > Probably it's as simple as setting the commit timer to
> > a large interval (grep for "HZ" in fs/jbd/journal.c).
>
> How about using bdf_prm.b_un.interval as the commit
> timer for ext3 ?
It may be best to keep them separate - they do rather different
things, and the system may have multiple filesystems. Plus
it'd be yet another thing we need which isn't exported :(
What would be nice would be the ability for external code to be
notified of kupdate and bdflush activity - that way we can
do what you suggest for laptops - do all the disk activity in
a single hit.
The ability to know when bdflush is woken would be useful
for other VM-related reasons. Generally the bulk of ext3 data
is writable by bdflush and freeable by the releasepage()
address_space op (aka try_to_free_buffers). But metadata
doesn't have an address_space, which is why we can get a
bit gummed up at times. The best fix for this is to take
over all the IO scheduling and drop the ext3 structures from the
buffers at IO completion time. That's version 2.
> With the addition that normal writeouts to disk (those
> go via the ext3 code, right?) also trigger a commit, if
> the last commit was long enough ago to not impact system
> efficiency.
>
> This way you should, on laptops, have the ext3 commit
> happening either at the same time as the kflushd write
> (triggered by the write) or the next kflushd interval
> away.
When ext3 commits, all data is written to its final resting place
on disk, and then all metadata is written to the journal and then
released for normal writeback. So if we were to start IO on that
writeback data immediately, there is no need for kupdate at all.
That would work, as a special laptop feature. A mount option or
tune2fs setting. Any synchronous operation would force an immediate
commit, of course.
-
next prev parent reply other threads:[~2001-07-31 6:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-31 2:54 laptops and journalling filesystems Tony Lill
2001-07-31 3:30 ` Andrew Morton
2001-07-31 3:52 ` Rik van Riel
2001-07-31 6:13 ` Andrew Morton [this message]
2001-07-31 5:28 ` Justin Guyett
2001-07-31 15:51 ` dean gaudet
2001-07-31 6:27 ` David Ford
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=3B664CA6.564DA9BA@zip.com.au \
--to=akpm@zip.com.au \
--cc=Tony.Lill@ajlc.waterloo.on.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
/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