linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Throttle select_idle_sibling when a target domain is overloaded
@ 2020-03-20 15:12 Mel Gorman
  2020-03-20 15:12 ` [PATCH 1/4] sched/fair: Track efficiency of select_idle_sibling Mel Gorman
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Mel Gorman @ 2020-03-20 15:12 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Peter Zijlstra, Vincent Guittot, Valentin Schneider, Phil Auld,
	LKML, Mel Gorman

This is a follow-on from the CPU/NUMA load balancer reconcilation
after I noticed that select_idle_sibling() was doing excessive work. It
was originally part of a larger series that merged select_idle_core,
select_idle_sibling and select_idle_cpu as a single pass. Unfortunately,
fixes have invalidated the tests multiple times so this series covers
only one part for now as the tests are extremely time-consuming.

tip/sched/core as of March 13th was used as the baseline with "sched/fair:
fix condition of avg_load calculation" applied which was just picked up
by tip at the time of writing.

Patches 1-2 add schedstats to track the efficiency of
select_idle_sibling(). Ordinarily they are disabled and are only really
of use to a kernel developer. However, I find them more practical to work
with than perf.

Patch 3 is a trivial micro-optimisation that avoids clearing part of
a cpumask if a core has been found.

Patch 4 tracks whether a domain appeared to be overloaded during
select_idle_cpu() so that future scans can abort early if necessary.
This reduces the number of runqueues that are scanned uselessly when
a domain is overloaded.

 include/linux/sched/topology.h |   1 +
 kernel/sched/debug.c           |   6 +++
 kernel/sched/fair.c            | 103 +++++++++++++++++++++++++++++++++++------
 kernel/sched/features.h        |   3 ++
 kernel/sched/sched.h           |   8 ++++
 kernel/sched/stats.c           |   9 ++--
 6 files changed, 113 insertions(+), 17 deletions(-)

-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-04-02  7:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-20 15:12 [PATCH 0/4] Throttle select_idle_sibling when a target domain is overloaded Mel Gorman
2020-03-20 15:12 ` [PATCH 1/4] sched/fair: Track efficiency of select_idle_sibling Mel Gorman
2020-03-23 13:30   ` Valentin Schneider
2020-03-23 13:55     ` Mel Gorman
2020-03-20 15:12 ` [PATCH 2/4] sched/fair: Track efficiency of task recent_used_cpu Mel Gorman
2020-03-23 13:30   ` Valentin Schneider
2020-03-20 15:12 ` [PATCH 3/4] sched/fair: Clear SMT siblings after determining the core is not idle Mel Gorman
2020-03-23 13:31   ` Valentin Schneider
2020-03-20 15:12 ` [PATCH 4/4] sched/fair: Track possibly overloaded domains and abort a scan if necessary Mel Gorman
2020-03-20 15:48   ` Vincent Guittot
2020-03-20 16:44     ` Mel Gorman
2020-03-20 16:54       ` Vincent Guittot
2020-03-20 17:43         ` Mel Gorman
2020-03-24 10:35           ` Vincent Guittot
2020-03-24 11:23             ` Mel Gorman
2020-04-02  7:59   ` [sched/fair] 15e7470dfc: hackbench.throughput 11.2% improvement kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).