On Mon, 2017-12-11 at 21:29 +0000, Ben Hutchings wrote: > There were several commits interspersed with sched/topology fixes > upstream that I thought were cleanup and therefore didn't backport to > the 3.16 stable branch. Now I suspect that at least some of them are > needed. > > I'm attaching backports of 3 of the commits that I left out. Can you > test whether they fix the regression for you? > > If this doesn't help, I think we may just have to revert the > sched/topology fixes.
Sorry, the first patch should be this one and not 0001-sched-topology-Simplify-build_overlap_sched_groups.patch. Ben. -- Ben Hutchings A free society is one where it is safe to be unpopular. - Adlai Stevenson
From aae254d8033b9d41e7915dcb3fe3642336408171 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <pet...@infradead.org> Date: Wed, 26 Apr 2017 17:36:41 +0200 Subject: [PATCH 1/3] sched/topology: Remove FORCE_SD_OVERLAP commit af85596c74de2fd9abb87501ae280038ac28a3f4 upstream. Its an obsolete debug mechanism and future code wants to rely on properties this undermines. Namely, it would be good to assume that SD_OVERLAP domains have children, but if we build the entire hierarchy with SD_OVERLAP this is obviously false. Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Mike Galbraith <efa...@gmx.de> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: linux-ker...@vger.kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> [bwh: Backported to 3.16: adjust filename] Signed-off-by: Ben Hutchings <b...@decadent.org.uk> --- kernel/sched/core.c | 2 +- kernel/sched/features.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0940ee9603ae..0692ee2dd889 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6631,7 +6631,7 @@ static int build_sched_domains(const struct cpumask *cpu_map, sd = build_sched_domain(tl, cpu_map, attr, sd, i); if (tl == sched_domain_topology) *per_cpu_ptr(d.sd, i) = sd; - if (tl->flags & SDTL_OVERLAP || sched_feat(FORCE_SD_OVERLAP)) + if (tl->flags & SDTL_OVERLAP) sd->flags |= SD_OVERLAP; if (cpumask_equal(cpu_map, sched_domain_span(sd))) break; diff --git a/kernel/sched/features.h b/kernel/sched/features.h index 90284d117fe6..79bad00ea840 100644 --- a/kernel/sched/features.h +++ b/kernel/sched/features.h @@ -56,7 +56,6 @@ SCHED_FEAT(NONTASK_CAPACITY, true) */ SCHED_FEAT(TTWU_QUEUE, true) -SCHED_FEAT(FORCE_SD_OVERLAP, false) SCHED_FEAT(RT_RUNTIME_SHARE, true) SCHED_FEAT(LB_MIN, false)
signature.asc
Description: This is a digitally signed message part