sched: qhmp: fix hmp_capable detection bug in small task CPU selection
The cpumask_full() returns true only if NR_CPUS bits are set in the
in the bitmask. If NR_CPUS is defined to a value greater than the
number of possible CPUs, hmp_capable returns true even for a SMP
system.
If hmp_capable returns true, the higher capacity cluster CPUs (i.e
all CPUs in a SMP system) are cleared from the initial search for
a mostly_idle CPU. As this search is not successful, the least
busy CPU including an idle CPU is returned while a mostly_idle CPU
is available. This is resulting in power regression. Fix the
hmp_capable detection by comparing the mpc_mask and cpu_possible_mask
directly.
CRs-Fixed: 993166
Change-Id: Ic046ea300b3fe118df6bd98e54d088979fd90931
Signed-off-by:
Pavankumar Kondeti <pkondeti@codeaurora.org>
Loading
Please register or sign in to comment