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

Commit e673c734 authored by Maria Yu's avatar Maria Yu Committed by Satya Durga Srinivasu Prabhala
Browse files

sched/fair: Avoid force newly idle load balance if have iowait task



If this runqueue have iowait task and still force newly
idle load balance, will make iowait task performance
worse. Need to do the average idle time check if
there is iowait task on this runqueue to have upcoming
iowait task have enough cpu resource.

Change-Id: I8e4dd440edbbd14d5170fbcf358bdaf5cc5b26e8
Signed-off-by: default avatarMaria Yu <aiquny@codeaurora.org>
Signed-off-by: default avatarBiao Long <blong@codeaurora.org>
parent bab437b7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -11175,7 +11175,8 @@ int newidle_balance(struct rq *this_rq, struct rq_flags *rf)
	 */
	if (!cpu_active(this_cpu))
		return 0;
	if (!is_min_capacity_cpu(this_cpu) && silver_has_big_tasks())
	if (!is_min_capacity_cpu(this_cpu) && silver_has_big_tasks()
		&& (atomic_read(&this_rq->nr_iowait) == 0))
		avg_idle = ULLONG_MAX;
	/*
	 * This is OK, because current is on_cpu, which avoids it being picked