From: Andrew Morton <akpm@linux-foundation.org>
To: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] VFS: Pagecache usage optimization onpagesize!=blocksize environment
Date: Wed, 28 May 2008 16:23:02 -0700 [thread overview]
Message-ID: <20080528162302.d2924861.akpm@linux-foundation.org> (raw)
In-Reply-To: <6.0.0.20.2.20080527175418.0554f348@172.19.0.2>
On Tue, 27 May 2008 18:34:02 +0900
Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp> wrote:
> When we read some part of a file through pagecache, if there is a pagecache
> of corresponding index but this page is not uptodate, read IO is issued and
> this page will be uptodate.
> I think this is good for pagesize == blocksize environment but there is room
> for improvement on pagesize != blocksize environment. Because in this case
> a page can have multiple buffers and even if a page is not uptodate, some buffers
> can be uptodate. So I suggest that when all buffers which correspond to a part
> of a file that we want to read are uptodate, use this pagecache and copy data
> from this pagecache to user buffer even if a page is not uptodate. This can
> reduce read IO and improve system throughput.
>
> v2: add new address_space_operations member is_partially_uptodate, and
> block_is_partially_uptodate was registered to ext2/3/4's aops.
> modify do_generic_file_read to use this aops callback.
> v3: use unsigned instead of unsigned long in block_is_partially_uptodate.
> cleaned up and simplified page buffer iteration code in block_is_partially_uptodate.
>
> Signed-off-by :Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
OK, thanks, let's give it a try.
It would be excellent if we had some benchmark numbers which justify
this change.
It also would be good if we can think up some workload which might be
slowed down by the change, and then demonstrate that this is not a
significant problem.
After all, it _is_ a performance patch...
next prev parent reply other threads:[~2008-05-28 23:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-21 6:52 [PATCH] VFS: Pagecache usage optimization on pagesize != blocksize environment Hisashi Hifumi
2008-05-21 7:19 ` Andrew Morton
2008-05-21 7:38 ` Andrew Morton
2008-05-22 7:31 ` [PATCH] VFS: Pagecache usage optimization on pagesize !=blocksize environment Hisashi Hifumi
2008-05-22 8:03 ` Andrew Morton
2008-05-22 12:08 ` [PATCH] VFS: Pagecache usage optimization on pagesize!=blocksize environment Hisashi Hifumi
2008-05-23 22:51 ` [PATCH] VFS: Pagecache usage optimization on pagesize !=blocksize environment Jan Kara
2008-05-26 7:20 ` Hisashi Hifumi
2008-05-26 11:40 ` Jan Kara
2008-05-27 8:38 ` [PATCH] VFS: Pagecache usage optimization on pagesize!=blocksize environment Hisashi Hifumi
2008-05-27 8:51 ` Andrew Morton
2008-05-27 9:34 ` [PATCH] VFS: Pagecache usage optimization onpagesize!=blocksize environment Hisashi Hifumi
2008-05-28 23:23 ` Andrew Morton [this message]
2008-06-10 1:52 ` [PATCH] VFS: Pagecache usage optimization onpagesize!=blocksizeenvironment Hisashi Hifumi
2008-07-11 23:39 ` [PATCH] VFS: Pagecache usage optimization onpagesize!=blocksize environment Andrew Morton
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=20080528162302.d2924861.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=hifumi.hisashi@oss.ntt.co.jp \
--cc=linux-kernel@vger.kernel.org \
/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