summaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-04-20 14:18:00 +0200
committerJens Axboe <axboe@nelson.home.kernel.dk>2007-04-30 09:01:22 +0200
commit67e6b49e39e9b9bf5ce1351ef21dad391856183f (patch)
treed76faecedf52358b30d2e4de8cc0d0f0946763a3 /block/cfq-iosched.c
parent498d3aa2b4f791059acd8c942ee8fa15c2ce36c2 (diff)
downloadlinux-67e6b49e39e9b9bf5ce1351ef21dad391856183f.tar.gz
linux-67e6b49e39e9b9bf5ce1351ef21dad391856183f.tar.bz2
linux-67e6b49e39e9b9bf5ce1351ef21dad391856183f.zip
cfq-iosched: slice offset should take ioprio into account
Use the max_slice-cur_slice as the multipler for the insertion offset. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r--block/cfq-iosched.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 29284fa06e6b..4a0397022f5b 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -442,7 +442,8 @@ static unsigned long cfq_slice_offset(struct cfq_data *cfqd,
/*
* just an approximation, should be ok.
*/
- return ((cfqd->busy_queues - 1) * cfq_prio_slice(cfqd, 1, 0));
+ return (cfqd->busy_queues - 1) * (cfq_prio_slice(cfqd, 1, 0) -
+ cfq_prio_slice(cfqd, cfq_cfqq_sync(cfqq), cfqq->ioprio));
}
/*