mirror of https://gitee.com/openkylin/linux.git
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: Gui Jianfeng <guijianfeng@cn.fujitsu.com> Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
parent
a8adbe378b
commit
7278c9c19b
|
@ -2103,12 +2103,6 @@ static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg)
|
||||||
unsigned group_slice;
|
unsigned group_slice;
|
||||||
enum wl_prio_t original_prio = cfqd->serving_prio;
|
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 */
|
/* Choose next priority. RT > BE > IDLE */
|
||||||
if (cfq_group_busy_queues_wl(RT_WORKLOAD, cfqd, cfqg))
|
if (cfq_group_busy_queues_wl(RT_WORKLOAD, cfqd, cfqg))
|
||||||
cfqd->serving_prio = RT_WORKLOAD;
|
cfqd->serving_prio = RT_WORKLOAD;
|
||||||
|
|
Loading…
Reference in New Issue