[RFC PATCH 0/4] Reduce worst-case scanning of runqueues in select_idle_sibling
Mel Gorman
mgorman at techsingularity.net
Mon Dec 7 04:15:12 EST 2020
This is a minimal series to reduce the amount of runqueue scanning in
select_idle_sibling in the worst case.
Patch 1 removes SIS_AVG_CPU because it's unused.
Patch 2 improves the hit rate of p->recent_used_cpu to reduce the amount
of scanning. It should be relatively uncontroversial
Patch 3-4 scans the runqueues in a single pass for select_idle_core()
and select_idle_cpu() so runqueues are not scanned twice. It's
a tradeoff because it benefits deep scans but introduces overhead
for shallow scans.
Even if patch 3-4 is rejected to allow more time for Aubrey's idle cpu mask
approach to stand on its own, patches 1-2 should be fine. The main decision
with patch 4 is whether select_idle_core() should do a full scan when searching
for an idle core, whether it should be throttled in some other fashion or
whether it should be just left alone.
--
2.26.2
More information about the linux-arm-kernel
mailing list