aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@redhat.com>2011-03-09 02:27:37 -0500
committerJens Axboe <jaxboe@fusionio.com>2011-03-10 02:52:27 -0500
commit69d60eb96ae8a73cf9b79cf28051caf973006011 (patch)
tree254be7302abbd6a21d4f54cfdad6a0af6db282d0 /block
parent721a9602e6607417c6bc15b18e97a2f35266c690 (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.c3
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}