blk-throttle: Use blk_plug in throttle dispatch

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>
This commit is contained in:
Vivek Goyal 2011-03-09 08:27:37 +01:00 committed by Jens Axboe
parent 721a9602e6
commit 69d60eb96a

View File

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