blk-throttle: Fix calculation of max number of WRITES to be dispatched
authorVivek Goyal <vgoyal@redhat.com>
Mon, 15 Nov 2010 18:32:42 +0000 (19:32 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Mon, 15 Nov 2010 18:32:42 +0000 (19:32 +0100)
o Currently we try to dispatch more READS and less WRITES (75%, 25%) in one
  dispatch round. ummy pointed out that there is a bug in max_nr_writes
  calculation. This patch fixes it.

Reported-by: ummy y <yummylln@yahoo.com.cn>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

block/blk-throttle.c

index 56ad453..004be80 100644 (file)
@@ -645,7 +645,7 @@ static int throtl_dispatch_tg(struct throtl_data *td, struct throtl_grp *tg,
 {
        unsigned int nr_reads = 0, nr_writes = 0;
        unsigned int max_nr_reads = throtl_grp_quantum*3/4;
-       unsigned int max_nr_writes = throtl_grp_quantum - nr_reads;
+       unsigned int max_nr_writes = throtl_grp_quantum - max_nr_reads;
        struct bio *bio;
 
        /* Try to dispatch 75% READS and 25% WRITES */