Re: [PATCH] VFS: Pagecache usage optimization onpagesize!=blocksizeenvironment

From: Andrew Morton
Date: Wed May 28 2008 - 19:23:43 EST


On Tue, 27 May 2008 18:34:02 +0900
Hisashi Hifumi <hifumi.hisashi@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>

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...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/