Miquel van Smoorenburg
38c8e61809
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 <mikevs@xs4all.net>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06 15:58:59 -08:00
..
2008-12-25 11:40:09 +11:00
2008-10-13 10:10:37 -07:00
2009-01-05 18:32:06 -08:00
2009-01-04 13:33:20 -08:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2008-12-31 18:07:40 -05:00
2008-11-14 10:38:47 +11:00
2009-01-05 18:32:06 -08:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2009-01-05 19:02:09 -08:00
2009-01-05 18:32:06 -08:00
2008-10-23 05:13:01 -04:00
2008-12-25 11:40:09 +11:00
2008-12-31 18:07:43 -05:00
2009-01-05 08:40:25 -08:00
2009-01-05 08:40:26 -08:00
2008-12-30 20:33:34 -08:00
2008-12-31 18:07:40 -05:00
2009-01-04 13:33:20 -08:00
2009-01-05 07:45:02 +00:00
2008-11-14 10:38:54 +11:00
2008-11-14 10:38:54 +11:00
2009-01-04 13:33:20 -08:00
2008-11-14 10:38:55 +11:00
2008-11-14 10:39:25 +11:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:53:38 -05:00
2008-11-06 22:37:59 -05:00
2009-01-05 08:40:30 -08:00
2009-01-04 13:33:20 -08:00
2009-01-05 11:54:29 -05:00
2008-12-30 16:51:43 -05:00
2008-11-14 10:38:57 +11:00
2008-11-14 10:38:58 +11:00
2009-01-04 13:33:20 -08:00
2008-12-23 15:21:32 -05:00
2009-01-05 11:54:28 -05:00
2008-10-17 02:38:36 +11:00
2009-01-05 11:54:29 -05:00
2009-01-05 11:54:27 -05:00
2009-01-05 18:32:43 -08:00
2009-01-05 11:54:28 -05:00
2009-01-05 11:54:28 -05:00
2008-11-18 15:08:56 +01:00
2009-01-06 15:58:58 -08:00
2009-01-05 11:54:28 -05:00
2009-01-05 18:32:43 -08:00
2009-01-05 11:54:28 -05:00
2009-01-04 13:33:20 -08:00
2009-01-05 11:54:28 -05:00
2008-12-31 18:07:39 -05:00
2009-01-04 13:33:20 -08:00
2008-12-04 17:16:36 +11:00
2008-11-14 10:39:04 +11:00
2008-12-29 16:47:18 +11:00
2008-12-29 08:29:50 +01:00
2008-12-31 16:55:44 +02:00
2008-11-14 10:39:05 +11:00
2008-12-31 18:07:43 -05:00
2009-01-03 11:45:54 -08:00
2008-11-14 10:39:24 +11:00
2008-12-28 12:33:21 -08:00
2008-10-16 11:21:38 -07:00
2008-11-14 10:39:24 +11:00
2009-01-05 11:54:28 -05:00
2008-10-16 11:21:38 -07:00
2008-11-14 10:39:24 +11:00
2008-12-29 08:29:23 +01:00
2008-12-29 08:29:53 +01:00
2008-12-31 18:07:43 -05:00
2009-01-04 13:33:20 -08:00
2008-10-23 05:12:59 -04:00
2008-11-14 10:39:24 +11:00
2008-12-31 18:07:42 -05:00
2008-12-31 18:07:38 -05:00
2008-10-16 11:21:32 -07:00
2009-01-05 08:40:25 -08:00
2008-12-01 19:55:24 -08:00
2009-01-05 11:54:28 -05:00
2008-12-25 11:40:09 +11:00
2008-10-21 07:47:06 -04:00
2008-12-31 18:07:42 -05:00
2008-08-01 11:25:23 -04:00
2009-01-05 11:54:29 -05:00
2008-10-16 11:21:32 -07:00
2009-01-05 11:54:28 -05:00
2008-11-14 10:39:24 +11:00
2009-01-05 07:38:46 +00:00
2008-11-14 10:39:19 +11:00
2009-01-05 08:40:23 -08:00
2008-10-20 08:52:39 -07:00
2009-01-05 18:32:06 -08:00
2008-11-14 10:39:05 +11:00
2009-01-05 08:40:21 -08:00
2009-01-06 15:58:59 -08:00
2009-01-05 18:32:06 -08:00
2008-12-31 18:07:38 -05:00
2008-12-31 18:07:41 -05:00
2009-01-05 11:54:28 -05:00
2009-01-04 15:14:41 -05:00
2008-11-14 10:39:05 +11:00
2009-01-05 08:40:21 -08:00
2009-01-05 08:40:21 -08:00
2009-01-05 08:36:58 -08:00
2009-01-05 08:40:21 -08:00
2009-01-05 08:36:57 -08:00
2009-01-05 08:36:58 -08:00
2009-01-05 08:40:21 -08:00
2009-01-05 11:53:07 -05:00
2008-10-23 05:13:10 -04:00
2008-10-26 11:22:08 -07:00
2009-01-03 12:04:39 -08:00
2008-10-30 11:38:45 -07:00
2009-01-05 11:54:28 -05:00
2008-12-20 09:02:39 +11:00
2009-01-05 11:54:28 -05:00
2008-09-05 21:35:09 -07:00
2009-01-05 11:54:28 -05:00