aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2005-11-10 12:20:16 -0500
committerJens Axboe <axboe@nelson.home.kernel.dk>2005-11-12 04:56:36 -0500
commitb740d98f5614e34b4cff2e1e67826f007c8d4f30 (patch)
tree50ff24c84b2ecfc2e8e518b1d9aecf3be2bc8ec5
parentbe56123568072d223263a6a70a087d1e7faabb83 (diff)
[BLOCK] cfq-iosched: fix slice_left calculation
When cfq slice expires, remainder of slice is calculated and stored in cfqq->slice_left. Current code calculates the opposite of remainder - how many jiffies the cfqq has used past slice end. This patch fixes the bug. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <axboe@suse.de>
-rw-r--r--block/cfq-iosched.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 452538644bce..2b64f5852bfd 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -861,8 +861,8 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
861 * store what was left of this slice, if the queue idled out 861 * store what was left of this slice, if the queue idled out
862 * or was preempted 862 * or was preempted
863 */ 863 */
864 if (time_after(now, cfqq->slice_end)) 864 if (time_after(cfqq->slice_end, now))
865 cfqq->slice_left = now - cfqq->slice_end; 865 cfqq->slice_left = cfqq->slice_end - now;
866 else 866 else
867 cfqq->slice_left = 0; 867 cfqq->slice_left = 0;
868 868