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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.