In certain usecases there are extensive runnables on silver cpus while there is ample opportunity to perform newidle balance to partially halted cpus to relieve the load on silvers. Currently, the check_for_higher_capacity() indicates that the partially halted cpus are to be considered higher cap than min-cap cpus. Change this such that the capacities of the cpus are seen as being the same during comparison, regardless of any small offset in capacity between the two. This should mean that load balance should happen more readily between the two, since this is a similar cap operation. Also in walt_lb_find_busiest_similar_cap_cpu() there was a change introduced to prevent partially halted cpus from pulling tasks from its unhalted sibling. This was done for cleanliness. Since the partially halted cpu typically runs at the same or higher frequency as its sibling, there is no need to prevent it from helping an unhalted sibling. This is no longer correct when the cpus are exactly the same capcity. Update walt_lb_find_busiest_similar_cap_cpu() to delete this condition such that a busiest cpu can be found when considering a partially halted cpu as a destination or source cpu. Change-Id: I6bc840d707752fa641e9616b42c8d28775d74a88 Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com> |
||
---|---|---|
.. | ||
boost.c | ||
core_ctl.c | ||
cpufreq_walt.c | ||
fixup.c | ||
input-boost.c | ||
Kconfig | ||
Makefile | ||
perf_trace_counters.h | ||
preemptirq_long.c | ||
preemptirq_long.h | ||
sched_avg.c | ||
sysctl.c | ||
trace.c | ||
trace.h | ||
walt_cfs.c | ||
walt_debug.c | ||
walt_debug.h | ||
walt_halt.c | ||
walt_lb.c | ||
walt_rt.c | ||
walt_tp.c | ||
walt.c | ||
walt.h |