Re: Wrong number of cpus detected/reported

Timothy Miller (miller@techsource.com)
Wed, 11 Jun 2003 12:17:32 -0400


mikpe@csd.uu.se wrote:
> Steven Cole writes:
> > On Tue, 2003-06-10 at 15:35, Alan Cox wrote:
> > > > wp : yes
> > > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
> > > > bogomips : 2798.38
> > > >
> > > > See that ht flag near the end?
> > >
> > > The ht flag means the ht facilities (mtrr etc) are present, doesnt mean
> > > HT necessarily is
> >
> > Is there a reliable method, apart from knowing 'a priori' the mapping
> > from CPU models and stepping to hyperthreading capability?
>
> Yes. Execute cpuid with eax=1 on each CPU. ebx describes among other things
> the number of threads and which thread you're on. If you ever find yourself
> on a non-zero thread, you have HT.

I presume, however, that to get into a non-zero thread, you have to turn
HT on. That is, when the machine first powers up, there is nothing for
the second thread to execute, so it's turned off. (I'm assuming
something similar for SMP boxes.) So, the real question should be,
before you attempt to turn on HT, how do you find out whether or you CAN
turn on HT.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/