Skip to content

Commit

Permalink
cfq-iosched: fix think time allowed for seekers
Browse files Browse the repository at this point in the history
CFQ enables idle only for processes that think less than the allowed
idle time. Since idle time is lower for seeky queues, we should use the
correct value in the comparison.

Signed-off-by: Corrado Zoccolo <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
czoccolo authored and Jens Axboe committed Oct 7, 2009
1 parent b9c8946 commit ec60e4f
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion block/cfq-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -1995,7 +1995,10 @@ cfq_update_idle_window(struct cfq_data *cfqd, struct cfq_queue *cfqq,
(!cfqd->cfq_latency && cfqd->hw_tag && CIC_SEEKY(cic)))
enable_idle = 0;
else if (sample_valid(cic->ttime_samples)) {
if (cic->ttime_mean > cfqd->cfq_slice_idle)
unsigned int slice_idle = cfqd->cfq_slice_idle;
if (sample_valid(cic->seek_samples) && CIC_SEEKY(cic))
slice_idle = msecs_to_jiffies(CFQ_MIN_TT);
if (cic->ttime_mean > slice_idle)
enable_idle = 0;
else
enable_idle = 1;
Expand Down

0 comments on commit ec60e4f

Please sign in to comment.