From: Miquel van Smoorenburg Date: Tue, 6 Jan 2009 22:39:02 +0000 (-0800) Subject: do_mpage_readpage(): don't submit lots of small bios on boundary X-Git-Tag: v2.6.29-rc1~482 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38c8e6180939e5619140b2e9e479cb26029ff8b1;p=pandora-kernel.git do_mpage_readpage(): don't submit lots of small bios on boundary While tracing I/O patterns with blktrace (a great tool) a few weeks ago I identified a minor issue in fs/mpage.c As the comment above mpage_readpages() says, a fs's get_block function will set BH_Boundary when it maps a block just before a block for which extra I/O is required. Since get_block() can map a range of pages, for all these pages the BH_Boundary flag will be set. But we only need to push what I/O we have accumulated at the last block of this range. This makes do_mpage_readpage() send out the largest possible bio instead of a bunch of page-sized ones in the BH_Boundary case. Signed-off-by: Miquel van Smoorenburg Cc: Nick Piggin Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed