[PATCH 0/4] Reduce scanning of runqueues in select_idle_sibling

From: Mel Gorman
Date: Tue Dec 08 2020 - 10:36:21 EST


Changelog since v1
o Drop single-pass patch (vincent)
o Scope variables used for SIS_AVG_CPU (dietmar)
o Remove redundant assignment (dietmar

This reduces 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 moves all SIS_PROP-related calculations under SIS_PROP

Patch 3 improves the hit rate of p->recent_used_cpu to reduce the amount
of scanning. It should be relatively uncontroversial

Patch 4 returns an idle candidate if one is found while scanning for a
free core.

--
2.26.2

Mel Gorman (4):
sched/fair: Remove SIS_AVG_CPU
sched/fair: Move avg_scan_cost calculations under SIS_PROP
sched/fair: Do not replace recent_used_cpu with the new target
sched/fair: Return an idle cpu if one is found after a failed search
for an idle core

kernel/sched/fair.c | 51 ++++++++++++++++++++---------------------
kernel/sched/features.h | 1 -
2 files changed, 25 insertions(+), 27 deletions(-)

--
2.26.2