Re: partially uptodate page reads
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2008-07-28 06:51:24
Also in:
linux-fsdevel, linux-xfs
On Mon, 28 Jul 2008 13:34:12 +0900 Hisashi Hifumi [off-list ref] wrote:
Hiquoted
quoted
quoted
Are there significant numbers of people using block size < page size in situations where performance is important and significantly improved by this patch? Can you give any performance numbers to illustrate perhaps?With XFS lots of people use 4k blocksize filesystems on ia64 systems with 16k pages, so an optimization like this would be useful.As Nick says, we really should have some measurement results which confirm this theory. Maybe we did do some but they didn't find theor way into the changelog. I've put the patch on hold until this confirmation data is available.I've got some performance number. I wrote a benchmark program and got result number with this program. This benchmark do: 1, mount and open a test file. 2, create a 512MB file. 3, close a file and umount. 4, mount and again open a test file. 5, pwrite randomly 300000 times on a test file. offset is aligned by IO size(1024bytes). 6, measure time of preading randomly 100000 times on a test file. The result was: 2.6.26 330 sec 2.6.26-patched 226 sec Arch:i386 Filesystem:ext3 Blocksize:1024 bytes Memory: 1GB On ext3/4, a file is written through buffer/block. So random read/write mixed workloads or random read after random write workloads are optimized with this patch under pagesize != blocksize environment. This test result showed this.
OK, thanks. Those are pretty nice numbers for what is probably a fairly common workload.