From: "Stephen C. Tweedie" <sct@dcs.ed.ac.uk>
To: "Eric W. Biederman" <ebiederm+eric@npwt.net>
Cc: "Stephen C. Tweedie" <sct@dcs.ed.ac.uk>,
Hans Reiser <reiser@ricochet.net>,
Shawn Leas <sleas@ixion.honeywell.com>,
Reiserfs <reiserfs@devlinux.com>,
Ken Tetrick <ktetrick@ixion.honeywell.com>,
linux-mm@kvack.org
Subject: Re: (reiserfs) Re: More on Re: (reiserfs) Reiserfs and ext2fs (was Re: (reiserfs) Sum Benchmarks (these look typical?))
Date: Mon, 29 Jun 1998 11:35:15 +0100 [thread overview]
Message-ID: <199806291035.LAA00733@dax.dcs.ed.ac.uk> (raw)
In-Reply-To: <m1emwcf97d.fsf@flinx.npwt.net>
Hi,
In article <m1emwcf97d.fsf@flinx.npwt.net>, ebiederm+eric@npwt.net (Eric
W. Biederman) writes:
>>>>>> "ST" == Stephen C Tweedie <sct@dcs.ed.ac.uk> writes:
ST> The ideal solution IMHO would be something which does write-through
ST> from the page cache to the buffer cache and write-back from the buffer
ST> cache to disk; in other words, when you write to a page, buffers are
ST> generated to map that dirty data (without copying) there and then.
ST> The IO is then left to the buffer cache, as currently happens, but the
ST> buffer is deleted after IO (just like other temporary buffer_heads
ST> behave right now). That leaves the IO buffering to the buffer cache
ST> and the caching to the page cache, which is the distinction that the
ST> the current scheme approaches but does not quite achieve.
> Unless I have missed something write-back from the page cache is
> important, because then when you delete a file you haven't written yet
> you can completely avoid I/O. For short lived files this should be a
> performance win.
We already do bforget() to deal with this in the buffer cache. Having
the outstanding IO labelled in the buffer cache will not result in
redundant writes in this case.
>>> This functionality is essentially what is implemented with brw_page,
>>> and I have written the generic_page_write that does essentially
>>> this. There is no data copying however. The fun angle is mapped
>>> pages need to be unmapped (or at least read only mapped) for a write
>>> to be successful.
ST> Indeed; however, it might be a reasonable compromise to do a copy out
ST> from the page cache to the buffer cache in this situation (we already
ST> have a copy in there, so this would not hurt performance relative to
ST> the current system).
> Agreed. But it takes more work to write.
On reflection, it's not an issue. Mapped pages do not have to be
unmapped at all. We can continue to share between cache and buffers as
long as we want. Later modifications to the data in the cache page will
update the buffer contents, true, but that's irrelevant as we will still
be writing valid file contents to disk when the IO arrives. Those
semantics are just fine.
--Stephen
next prev parent reply other threads:[~1998-06-29 11:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.HPP.3.96.980617035608.29950A-100000@ixion.honeywell.com>
[not found] ` <199806221138.MAA00852@dax.dcs.ed.ac.uk>
[not found] ` <358F4FBE.821B333C@ricochet.net>
[not found] ` <m11zsgrvnf.fsf@flinx.npwt.net>
[not found] ` <199806241154.MAA03544@dax.dcs.ed.ac.uk>
[not found] ` <m11zse6ecw.fsf@flinx.npwt.net>
1998-06-25 11:00 ` (reiserfs) Re: More on Re: (reiserfs) Reiserfs and ext2fs (was Re: (reiserfs) Sum Benchmarks (these look typical?)) Stephen C. Tweedie
1998-06-26 15:56 ` Eric W. Biederman
1998-06-29 10:35 ` Stephen C. Tweedie [this message]
1998-06-29 19:59 ` Eric W. Biederman
1998-06-30 16:10 ` Stephen C. Tweedie
1998-07-01 0:17 ` Eric W. Biederman
1998-07-01 9:12 ` Stephen C. Tweedie
1998-07-01 12:45 ` Eric W. Biederman
1998-07-01 13:11 ` Eric W. Biederman
1998-07-01 20:07 ` Stephen C. Tweedie
1998-07-02 15:17 ` Eric W. Biederman
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=199806291035.LAA00733@dax.dcs.ed.ac.uk \
--to=sct@dcs.ed.ac.uk \
--cc=ebiederm+eric@npwt.net \
--cc=ktetrick@ixion.honeywell.com \
--cc=linux-mm@kvack.org \
--cc=reiser@ricochet.net \
--cc=reiserfs@devlinux.com \
--cc=sleas@ixion.honeywell.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