diff options
author | Vivek Goyal <vgoyal@redhat.com> | 2011-03-09 02:27:37 -0500 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-03-10 02:52:27 -0500 |
commit | 69d60eb96ae8a73cf9b79cf28051caf973006011 (patch) | |
tree | 254be7302abbd6a21d4f54cfdad6a0af6db282d0 /block | |
parent | 721a9602e6607417c6bc15b18e97a2f35266c690 (diff) |
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>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-throttle.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/blk-throttle.c b/block/blk-throttle.c index b8dcdc2663a1..658ee505315b 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c | |||
@@ -770,6 +770,7 @@ static int throtl_dispatch(struct request_queue *q) | |||
770 | unsigned int nr_disp = 0; | 770 | unsigned int nr_disp = 0; |
771 | struct bio_list bio_list_on_stack; | 771 | struct bio_list bio_list_on_stack; |
772 | struct bio *bio; | 772 | struct bio *bio; |
773 | struct blk_plug plug; | ||
773 | 774 | ||
774 | spin_lock_irq(q->queue_lock); | 775 | spin_lock_irq(q->queue_lock); |
775 | 776 | ||
@@ -798,8 +799,10 @@ out: | |||
798 | * immediate dispatch | 799 | * immediate dispatch |
799 | */ | 800 | */ |
800 | if (nr_disp) { | 801 | if (nr_disp) { |
802 | blk_start_plug(&plug); | ||
801 | while((bio = bio_list_pop(&bio_list_on_stack))) | 803 | while((bio = bio_list_pop(&bio_list_on_stack))) |
802 | generic_make_request(bio); | 804 | generic_make_request(bio); |
805 | blk_finish_plug(&plug); | ||
803 | } | 806 | } |
804 | return nr_disp; | 807 | return nr_disp; |
805 | } | 808 | } |