On Wed, 29 Jan 2014, Stephen Powell wrote:
> On Wed, 29 Jan 2014 06:57:39 -0500 (EST), Henrique de Moraes Holschuh wrote:
> > Some processors update per core, not per hardware thread (hardware threads
> > show up as separate "cpus" in Linux x86/x86-64). When a hardware thread is
> > updated on these processors, it actually updates all hardware threads that
> > share that core.
>
> (1) The AMD FX-4300 is actually four
> cores with one CPU each, not two cores with two logical ("hyperthreaded") CPUs
> each. If in fact it only has two cores, with two logical CPUs each,
According to AMD documentation, it has 4 single-threaded cores on two
modules, inside a single package.
Terminology aside (hardware threads/cpus, cores, modules, packages/sockets,
processors, etc), the fact is that, on your AMD FX-4300, updating a hardware
thread also updates another hardware-related hardware thread.
So, please disregard my use of "core" for what AMD calls "module".
> (3) I have an example of a hyperthreaded core machine as well.
> Another machine I own has a 32-bit Intel processor, a Xeon(TM) 2.40 GHz chip,
> cpu family 15, which has a single core with two threads. A custom 3.11.10
> kernel reports two microcode update messages, even with two logical CPUs
Some processor models update several hardware threads ("cpus") at the same
time. Some don't.
Newer kernels will notice this at least for AMD processors, and skip already
up-to-date threads/cpus. And it will not log anything when it skips a
thread/cpu.
Also, the behaviour for Intel and AMD needs not be the same: there are
different code paths for each processor vendor.
> a moment, but first I'd like to point out that the information in
> /proc/cpuinfo
> for the AMD FX-4300 processor is inconsistent. It reports that there are
> two cores, yet each processor has a unique core id (0-3). In the information
> for the processor below, it only reports one core, and the same core id (0)
> for each logical processor.
Same core id on two hardware threads imply SMT siblings (such as in Intel
HyperThreads).
It is possible that some (all?) versions of the kernel will number some of
these topology identifiers in a confusing, and maybe even non-optimal way
for some processors: I recall reading something to that effect in LKML not
too long ago, but I failed to track it down to post a link right now.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]