path: root/mm/page_io.c
diff options
authorAndrew Morton <>2006-09-25 23:32:44 -0700
committerLinus Torvalds <>2006-09-26 08:48:58 -0700
commit546e0d271941dd1ff6961e2a1f7eac75f1fc277e (patch)
tree60c74a9598f7cb4622c1b6acd25df5df67284353 /mm/page_io.c
parent8c002494b55119a3fd1dddee83b4fb75cfda47e5 (diff)
[PATCH] swsusp: read speedup
Implement async reads for swsusp resuming. Crufty old PIII testbox: 15.7 MB/s -> 20.3 MB/s Sony Vaio: 14.6 MB/s -> 33.3 MB/s I didn't implement the post-resume bio_set_pages_dirty(). I don't really understand why resume needs to run set_page_dirty() against these pages. It might be a worry that this code modifies PG_Uptodate, PG_Error and PG_Locked against the image pages. Can this possibly affect the resumed-into kernel? Hopefully not, if we're atomically restoring its mem_map? Cc: Pavel Machek <> Cc: "Rafael J. Wysocki" <> Cc: Jens Axboe <> Cc: Laurent Riffard <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'mm/page_io.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/page_io.c b/mm/page_io.c
index f46a9862b7ef..d4840ecbf8f9 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -74,7 +74,7 @@ static int end_swap_bio_write(struct bio *bio, unsigned int bytes_done, int err)
return 0;
-static int end_swap_bio_read(struct bio *bio, unsigned int bytes_done, int err)
+int end_swap_bio_read(struct bio *bio, unsigned int bytes_done, int err)
const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);
struct page *page = bio->bi_io_vec[0].bv_page;