Re: cpuinfo_x86 and apicid

Siddha, Suresh B
2006-07-06T16:26:49Z

On Thu, Jul 06, 2006 at 08:01:18AM -0700, Stephane Eranian wrote:
> Hello,
>
>
> In the context of the perfmon2 subsystem for processor with HyperThreading,
> we need to know on which thread we are currently running. This comes from
> the fact that the performance counters are shared between the two threads.
>
> We use the thread id (smt_id) because we split the counters in half
> between the two threads such that two threads on the same core can run
> with monitoring on. We are currently computing the smt_id from the
> apicid as returned by a CPUID instruction. This is not very efficient.
>
> I looked through the i386 code and could not find a function nor
> structure that would return this smt_id. In the cpuinfo_x86 structure
> there is an apicid field that looks good, yet it does not seem to be
> initialized nor used.
>
> Is cpuinfo_x86->apicid field obsolete?
> If so, what is replacing it?

In i386, it is getting initialized in generic_identify() in common.c and
it is getting used for example in intel_cacheinfo.c

thanks,
suresh