Re: [PATCH] fix readahead pipeline break caused by block plug
From: Jeff Moyer <hidden>
Date: 2012-02-01 20:13:48
Also in:
lkml
Vivek Goyal [off-list ref] writes:
On Wed, Feb 01, 2012 at 04:18:07AM -0500, Christoph Hellwig wrote:quoted
On Tue, Jan 31, 2012 at 10:36:53PM -0500, Vivek Goyal wrote:quoted
I still see that IO is being submitted one page at a time. The only real difference seems to be that queue unplug happening at random times and many a times we are submitting much smaller requests (40 sectors, 48 sectors etc).This is expected given that the block device node uses block_read_full_page, and not mpage_readpage(s).What is the difference between block_read_full_page() and mpage_readpage(). IOW, why block device does not use mpage_readpage(s) interface? Is enabling mpage_readpages() on block devices is as simple as following patch or more is involved? (I suspect it has to be more than this. If it was this simple, it would have been done by now). This patch complies and seems to work. (system does not crash and dd seems to be working. I can't verify the contents of the file though). Applying following patch improved the speed from 110MB/s to more than 230MB/s. # dd if=/dev/sdb of=/dev/null bs=1M count=1K 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 4.6269 s, 232 MB/s
See:
commit db2dbb12dc47a50c7a4c5678f526014063e486f6
Author: Jeff Moyer [off-list ref]
Date: Wed Apr 22 14:08:13 2009 +0200
block: implement blkdev_readpages
Doing a proper block dev ->readpages() speeds up the crazy dump(8)
approach of using interleaved process IO.
Signed-off-by: Jeff Moyer [off-list ref]
Signed-off-by: Jens Axboe [off-list ref]
And:
commit 172124e220f1854acc99ee394671781b8b5e2120
Author: Jens Axboe [off-list ref]
Date: Thu Jun 4 22:34:44 2009 +0200
Revert "block: implement blkdev_readpages"
This reverts commit db2dbb12dc47a50c7a4c5678f526014063e486f6.
It apparently causes problems with partition table read-ahead
on archs with large page sizes. Until that problem is diagnosed
further, just drop the readpages support on block devices.
Signed-off-by: Jens Axboe [off-list ref]
;-)
Cheers,
Jeff
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>