read-ahead: use plugging
authorJens Axboe <jaxboe@fusionio.com>
Mon, 19 Apr 2010 08:04:38 +0000 (10:04 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 10 Mar 2011 07:52:26 +0000 (08:52 +0100)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
mm/readahead.c

index cbddc3e1724671bdf7bc2d9b3d95d54af987538f..2c0cc489e2880cb319a92b905a5ee7b292039b7f 100644 (file)
@@ -109,9 +109,12 @@ EXPORT_SYMBOL(read_cache_pages);
 static int read_pages(struct address_space *mapping, struct file *filp,
                struct list_head *pages, unsigned nr_pages)
 {
+       struct blk_plug plug;
        unsigned page_idx;
        int ret;
 
+       blk_start_plug(&plug);
+
        if (mapping->a_ops->readpages) {
                ret = mapping->a_ops->readpages(filp, mapping, pages, nr_pages);
                /* Clean up the remaining pages */
@@ -129,7 +132,10 @@ static int read_pages(struct address_space *mapping, struct file *filp,
                page_cache_release(page);
        }
        ret = 0;
+
 out:
+       blk_finish_plug(&plug);
+
        return ret;
 }