From: Hans Reiser <reiser@namesys.com>
To: Andrew Morton <akpm@osdl.org>
Cc: "Vladimir V. Saveliev" <vs@namesys.com>,
hch@infradead.org, Reiserfs-Dev@namesys.com,
Linux-Kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: batched write
Date: Sat, 17 Jun 2006 10:51:23 -0700 [thread overview]
Message-ID: <4494411B.4010706@namesys.com> (raw)
In-Reply-To: <20060617100458.0be18073.akpm@osdl.org>
Andrew Morton wrote:
>We have one filesystem which wants such a refactoring (although I don't
>think you've adequately spelled out _why_ reiser4 wants this).
>
>
>
When calling the filesystem for writes, there is processing that must be
done:
1) per word
2) per page
3) per call to the FS
If the FS is called per page, then it turns out that 3) costs more than
1) and 2) for sophisticated filesystems. As we develop fancier and
fancier plugins this will just get more and more true. It decreases CPU
usage by 2x to use per sys_write calls into reiser4 rather than per page
calls into reiser4. (Vladimir, on Monday can you find and send your
benchmarks?) This is significant for cached writes.
If it violates the intuition to believe this, then let me point out that
there was a similar motivation for the creation of bios: calling the
block layer traverses more lines of code than copying a page of bytes
does. Unfortunately, all that code turns out to be useful
optimizations, so one cannot just take the attitude (whether for the
block layer or reiser4) that it should just be simplified.
Please note that I have no real problem with leaving the generic code
unchanged and having reiser4 do its own write operation. I am modifying
the generic code because you suggested it was preferred. Having
reviewed the code in detail, I see that you were right and it is better
to just fix the generic code to call more than 4k at a time into the FS,
and then be able to reuse the generic aio and direct io code (and etc.)
as a result. So, to be sociable, and to get more code reuse, we make
this proposal.
>To be able to say "yes, we want this" I think we'd need to understand which
>other filesystems would benefit from exploiting it, and with what results?
>
>
>
>
Or just let us have our own sys_write implementation without being
excluded for it. I have shown that it is significantly faster for
reiser4 to process things more than 4k at a time.
next prev parent reply other threads:[~2006-06-17 17:51 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <44736D3E.8090808@namesys.com>
[not found] ` <20060524175312.GA3579@zero>
[not found] ` <44749E24.40203@namesys.com>
[not found] ` <20060608110044.GA5207@suse.de>
[not found] ` <1149766000.6336.29.camel@tribesman.namesys.com>
[not found] ` <20060608121006.GA8474@infradead.org>
2006-06-14 22:08 ` batched write Vladimir V. Saveliev
2006-06-17 17:04 ` Andrew Morton
2006-06-17 17:51 ` Hans Reiser [this message]
2006-06-18 11:20 ` Nix
2006-06-19 9:05 ` Hans Reiser
2006-06-19 11:32 ` Miklos Szeredi
2006-06-19 16:39 ` Hans Reiser
2006-06-19 17:35 ` Miklos Szeredi
2006-06-19 17:52 ` Akshat Aranya
2006-06-19 20:39 ` Hans Reiser
2006-06-19 16:27 ` Andreas Dilger
2006-06-19 16:51 ` Hans Reiser
2006-06-19 18:50 ` Andreas Dilger
2006-06-19 20:47 ` Hans Reiser
2006-06-20 0:01 ` David Chinner
2006-06-20 7:19 ` Hans Reiser
2006-06-20 7:26 ` Andrew Morton
2006-06-20 9:02 ` Steven Whitehouse
2006-06-20 16:26 ` Vladimir V. Saveliev
2006-06-20 17:29 ` Hans Reiser
2006-06-19 18:28 ` Vladimir V. Saveliev
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=4494411B.4010706@namesys.com \
--to=reiser@namesys.com \
--cc=Linux-Kernel@vger.kernel.org \
--cc=Reiserfs-Dev@namesys.com \
--cc=akpm@osdl.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=vs@namesys.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;
as well as URLs for NNTP newsgroup(s).