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

Commit 7278c9c1 authored by Gui Jianfeng's avatar Gui Jianfeng Committed by Jens Axboe
Browse files

cfq-iosched: don't check cfqg in choose_service_tree()



When cfq_choose_cfqg() is called in select_queue(), there must be at least one
backlogged CFQ queue waiting for dispatching, hence there must be at least one
backlogged CFQ group on service tree. So we never call choose_service_tree()
with cfqg == NULL.

Signed-off-by: default avatarGui Jianfeng <guijianfeng@cn.fujitsu.com>
Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent a8adbe37
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -2103,12 +2103,6 @@ static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg)
	unsigned group_slice;
	enum wl_prio_t original_prio = cfqd->serving_prio;

	if (!cfqg) {
		cfqd->serving_prio = IDLE_WORKLOAD;
		cfqd->workload_expires = jiffies + 1;
		return;
	}

	/* Choose next priority. RT > BE > IDLE */
	if (cfq_group_busy_queues_wl(RT_WORKLOAD, cfqd, cfqg))
		cfqd->serving_prio = RT_WORKLOAD;