blk-throttle: Use blk_plug in throttle dispatch
Vivek Goyal [Wed, 9 Mar 2011 07:27:37 +0000 (08:27 +0100)]
Use plug in throttle dispatch also as we are dispatching a bunch of
bios in throttle context and some of them might merge.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

block/blk-throttle.c

index b8dcdc2..658ee50 100644 (file)
@@ -770,6 +770,7 @@ static int throtl_dispatch(struct request_queue *q)
        unsigned int nr_disp = 0;
        struct bio_list bio_list_on_stack;
        struct bio *bio;
+       struct blk_plug plug;
 
        spin_lock_irq(q->queue_lock);
 
@@ -798,8 +799,10 @@ out:
         * immediate dispatch
         */
        if (nr_disp) {
+               blk_start_plug(&plug);
                while((bio = bio_list_pop(&bio_list_on_stack)))
                        generic_make_request(bio);
+               blk_finish_plug(&plug);
        }
        return nr_disp;
 }