Re: fio sync read 4k block size 35% regression

From: Wu Fengguang
Date: Wed Jul 01 2009 - 00:12:34 EST


On Wed, Jul 01, 2009 at 11:25:33AM +0800, Zhang, Yanmin wrote:
> Comapraing with 2.6.30, fio sync read (block size 4k) has about 35% regression
> with kernel 2.6.31-rc1 ïon my stoakley machine with a JBOD (13 SCSI disks).
>
> Every disk has 1 partition and 4 1-GB files. Start 10 processes per disk to
> do syïnc read sequentinally.
>
> Bisected down to below patch.
>
> 51daa88ebd8e0d437289f589af29d4b39379ea76 is first bad commit
> commit 51daa88ebd8e0d437289f589af29d4b39379ea76
> Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
> Date: Tue Jun 16 15:31:24 2009 -0700
>
> readahead: remove sync/async readahead call dependency
>
> The readahead call scheme is error-prone in that it expects the call sites
> to check for async readahead after doing a sync one. I.e.
>
> if (!page)
> page_cache_sync_readahead();
> page = find_get_page();
> if (page && PageReadahead(page))
> page_cache_async_readahead();
>
>
> I also test block size 64k and 128k, but they don't have regression. Perhaps
> the default read_ahead_kb is equal to 128?
>
> Other 2 machines have no such regression. The JBODS of the 2 machines consists
> of 12 and 7 SATA/SAS disks while every disk has 2 partitions.

Yanmin, thanks for the tests!

Maybe the patch posted here can restore the performance:

http://lkml.org/lkml/2009/5/21/319
Subject Re: [PATCH] readahead:add blk_run_backing_dev

Thanks,
Fengguang
--
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/