From: Dimitri Sivanich <sivanich@sgi.com>
To: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>, linux-kernel@vger.kernel.org
Subject: Intel x86_64 llc_shared_map/cpu_llc_id anomolies
Date: Fri, 12 Dec 2008 15:42:56 -0600 [thread overview]
Message-ID: <20081212214256.GA20559@sgi.com> (raw)
I'm seeing some behavior on a multiblade Intel x86_64 that does not
appear to be correct.
My x86_64 multiblade configuration has llc_shared_map (last level
cache shared map) showing cpus on different blades sharing a last
level cache. With 2 cpus/blade and 4 blades (8 cpus total), I show
cpus 1,3,5,7 sharing llc, and 0,2,4,6 sharing llc.
The llc_shared_map is set based on matching values of cpu_llc_id
(last level cache ID). The cpu_llc_id is set based on
cpuinfo_x86->apicid. This value is set to cpuinfo_x86->initial_apicid.
The value of cpuinfo_x86->initial_apicid appears to be set twice
during startup:
- In generic_identify(), using the value returned by cpuid_ebx(1).
This is the initial_apicid set at poweron, and results in
cpuinfo_x86->initial_apicid having a value that is not unique across
blades (where the blades do not share a cpu bus).
- Later, in detect_extended_topology() using the value for edx returned
by cpuid_count(0xb,..). This results in cpuinfo_x86->initial_apicid
having a value that appears to be unique across blades.
Between those two assignments, cpuinfo_x86->apicid is set to
cpuinfo_x86->initial_apicid, so it is non-unique. Then cpu_llc_id gets
set in init_intel_cacheinfo(), so cpu_llc_id winds up with a value that
is non-unique across blades, and llc_shared_map winds up showing cpus
on different blades as sharing last level cache.
Is cpu_llc_id supposed to be unique across blades? I assume
llc_shared_map should not be showing shared cache across blades.
next reply other threads:[~2008-12-12 21:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-12 21:42 Dimitri Sivanich [this message]
2008-12-12 21:59 ` Intel x86_64 llc_shared_map/cpu_llc_id anomolies Yinghai Lu
2008-12-19 2:09 ` Suresh Siddha
2008-12-19 8:15 ` Ingo Molnar
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=20081212214256.GA20559@sgi.com \
--to=sivanich@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=suresh.b.siddha@intel.com \
--cc=yhlu.kernel@gmail.com \
/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