From: Peter Zijlstra <peterz@infradead.org>
To: Bruno Wolff III <bruno@wolff.to>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>,
Josh Boyer <jwboyer@redhat.com>,
"mingo@redhat.com" <mingo@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: Scheduler regression from caffcdd8d27ba78730d5540396ce72ad022aff2c
Date: Fri, 18 Jul 2014 16:50:40 +0200 [thread overview]
Message-ID: <20140718145040.GG12054@laptop.lan> (raw)
In-Reply-To: <20140718141648.GE20603@laptop.programming.kicks-ass.net>
On Fri, Jul 18, 2014 at 04:16:48PM +0200, Peter Zijlstra wrote:
> On Fri, Jul 18, 2014 at 08:01:26AM -0500, Bruno Wolff III wrote:
> > build_sched_domain: cpu: 0 level: SMT cpu_map: 0-3 tl->mask: 0,2
> > [ 0.254433] build_sched_domain: cpu: 0 level: MC cpu_map: 0-3 tl->mask: 0
> > [ 0.254516] build_sched_domain: cpu: 0 level: DIE cpu_map: 0-3 tl->mask: 0-3
> > [ 0.254600] build_sched_domain: cpu: 1 level: SMT cpu_map: 0-3 tl->mask: 1,3
> > [ 0.254683] build_sched_domain: cpu: 1 level: MC cpu_map: 0-3 tl->mask: 1
> > [ 0.254766] build_sched_domain: cpu: 1 level: DIE cpu_map: 0-3 tl->mask: 0-3
> > [ 0.254850] build_sched_domain: cpu: 2 level: SMT cpu_map: 0-3 tl->mask: 0,2
> > [ 0.254932] build_sched_domain: cpu: 2 level: MC cpu_map: 0-3 tl->mask: 2
> > [ 0.255005] build_sched_domain: cpu: 2 level: DIE cpu_map: 0-3 tl->mask: 0-3
> > [ 0.255091] build_sched_domain: cpu: 3 level: SMT cpu_map: 0-3 tl->mask: 1,3
> > [ 0.255176] build_sched_domain: cpu: 3 level: MC cpu_map: 0-3 tl->mask: 3
> > [ 0.255260] build_sched_domain: cpu: 3 level: DIE cpu_map: 0-3 tl->mask: 0-3
>
> *blink*...
>
> That's, shall we say, unexpected. Let me ponder that a bit. HPA any clue
> why a machine might report such a weird topology? AFAIK threads _always_
> share cache. So how can cpu_coregroup_mask be a subset (instead of a
> superset) of topology_thread_cpumask?
>
> Let me go stare at the x86 topology mask setup code.
Possibly something like so, but I'm not too sure. Anybody?
---
arch/x86/kernel/smpboot.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 5492798930ef..5eefa9abc2a9 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -338,9 +338,15 @@ static bool match_llc(struct cpuinfo_x86 *c, struct cpuinfo_x86 *o)
{
int cpu1 = c->cpu_index, cpu2 = o->cpu_index;
- if (per_cpu(cpu_llc_id, cpu1) != BAD_APICID &&
- per_cpu(cpu_llc_id, cpu1) == per_cpu(cpu_llc_id, cpu2))
+ if (cpu_has_topoext) {
+ if (per_cpu(cpu_llc_id, cpu1) != BAD_APICID &&
+ per_cpu(cpu_llc_id, cpu1) == per_cpu(cpu_llc_id, cpu2))
+ return topology_sane(c, o, "llc");
+
+ } else if (c->phys_proc_id == o->phys_proc_id &&
+ c->cpu_core_id == o->cpu_core_id) {
return topology_sane(c, o, "llc");
+ }
return false;
}
next prev parent reply other threads:[~2014-07-18 14:50 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-16 14:55 Scheduler regression from caffcdd8d27ba78730d5540396ce72ad022aff2c Bruno Wolff III
2014-07-16 15:17 ` Josh Boyer
2014-07-16 19:17 ` Dietmar Eggemann
2014-07-16 19:54 ` Bruno Wolff III
2014-07-16 23:18 ` Dietmar Eggemann
2014-07-17 3:09 ` Bruno Wolff III
2014-07-17 8:57 ` Dietmar Eggemann
2014-07-17 9:04 ` Peter Zijlstra
2014-07-17 11:23 ` Dietmar Eggemann
2014-07-17 12:35 ` Peter Zijlstra
2014-07-18 5:34 ` Bruno Wolff III
2014-07-18 9:28 ` Dietmar Eggemann
2014-07-18 12:09 ` Bruno Wolff III
2014-07-18 10:16 ` Peter Zijlstra
2014-07-18 13:01 ` Bruno Wolff III
2014-07-18 14:16 ` Dietmar Eggemann
2014-07-18 14:16 ` Peter Zijlstra
2014-07-18 14:50 ` Peter Zijlstra [this message]
2014-07-18 16:16 ` Peter Zijlstra
2014-07-21 16:35 ` Bruno Wolff III
2014-07-21 16:52 ` Peter Zijlstra
2014-07-22 9:47 ` Peter Zijlstra
2014-07-22 10:38 ` Peter Zijlstra
2014-07-22 12:10 ` Bruno Wolff III
2014-07-22 13:03 ` Peter Zijlstra
2014-07-22 13:26 ` Peter Zijlstra
2014-07-22 13:35 ` Peter Zijlstra
2014-07-22 14:09 ` Bruno Wolff III
2014-07-22 14:18 ` Peter Zijlstra
2014-07-23 1:37 ` Bruno Wolff III
2014-07-23 6:51 ` Peter Zijlstra
2014-07-22 17:05 ` H. Peter Anvin
2014-07-23 15:11 ` Peter Zijlstra
2014-07-23 15:12 ` H. Peter Anvin
2014-07-24 1:45 ` Bruno Wolff III
2014-07-23 15:39 ` [tip:x86/urgent] x86, cpu: Fix cache topology for early P4-SMT tip-bot for Peter Zijlstra
2014-07-22 12:12 ` Scheduler regression from caffcdd8d27ba78730d5540396ce72ad022aff2c Dietmar Eggemann
2014-07-22 12:57 ` Bruno Wolff III
2014-07-28 8:28 ` [tip:sched/core] sched: Robustify topology setup tip-bot for Peter Zijlstra
2014-07-17 16:36 ` Scheduler regression from caffcdd8d27ba78730d5540396ce72ad022aff2c Bruno Wolff III
2014-07-17 18:43 ` Dietmar Eggemann
2014-07-17 18:54 ` Bruno Wolff III
2014-07-17 4:21 ` Bruno Wolff III
2014-07-17 4:28 ` Bruno Wolff III
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140718145040.GG12054@laptop.lan \
--to=peterz@infradead.org \
--cc=bruno@wolff.to \
--cc=dietmar.eggemann@arm.com \
--cc=hpa@zytor.com \
--cc=jwboyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).