Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec60e4f6 authored by Corrado Zoccolo's avatar Corrado Zoccolo Committed by Jens Axboe
Browse files

cfq-iosched: fix think time allowed for seekers



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: default avatarCorrado Zoccolo <czoccolo@gmail.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent b9c8946b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;