Click to See Complete Forum and Search --> : Question concerning Hyperthreading + Linux
spagnitz
08-08-2003, 07:37 PM
Does anyone know whether or not a SMP enabled kernel will list 2 cpu's when used on a HT Pentium 4? I compiled 2.6test2 with SMP as well as use the latest Mandrake SMP kernel, neither list two cpu's in /proc/cpuinfo.
/var/log/kernel/errors has lines like: "Jul 30 21:41:26 localhost kernel: Error: only one processor found."
/proc/cpuinfo lists:
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping : 9
cpu MHz : 2798.686
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5583.66
The motherboard is an 875p based asus p4c800 with HT enabled in teh bios.
spagnitz
08-08-2003, 07:43 PM
I notice that there is a "cpuid level : 2" here, while mdwatts has "cpuid level : 1" listed for each CPU (in another thread), perhaps this is it? Can anyone shed some light on this
bwkaz
08-08-2003, 09:16 PM
It should list two CPUs... assuming you actually got an HT CPU, as opposed to something that claimed it was but actually wasn't.
Though I doubt that, actually.
Your motherboard does support HT, right? There are BIOS settings on our servers at work that control whether each physical CPU appears as one virtual CPU or as two virtual CPUs (we have a dual-HT box). Check through your BIOS settings.
spagnitz
08-08-2003, 09:37 PM
Originally posted by bwkaz
It should list two CPUs... assuming you actually got an HT CPU, as opposed to something that claimed it was but actually wasn't.
Though I doubt that, actually.
Your motherboard does support HT, right? There are BIOS settings on our servers at work that control whether each physical CPU appears as one virtual CPU or as two virtual CPUs (we have a dual-HT box). Check through your BIOS settings.
I am sure this is a genuine HT cpu, the die lists as such, the cpu id string is good, the vendor is reputable, win xp lists 2 cpu's..
The 875p chipset supports HT, Hyperthreading is also set to "enabled" in the BIOS.
This is a dual boot with WinXP, win xp has always shown two virtual cpu's so I know the hardware is working correctly. I have a suspicion that Linux does not actually show two cpu's with hyperthreading enabled.
Is there anyone out there running an smp kernel + an intel hyperthreading cpu that sees two cpu's listed (do a "cat /proc/cpuinfo")?
I have a similar system (Intel 875P motherboard), running Mandrake 9.1, and HT is enabled in BIOS. Mandrake reports the same thing as spagnitz posted. I've also booted Knoppix 3.2 on this system, which seems to have a slightly older kernel than Mandrake, and it reports two processors in cpuinfo. I've been wondering -- is the more recent kernel/patch level simply HT-aware enough to know that there's only one physical processor present?
bwkaz
08-08-2003, 11:30 PM
Well, I do remember some entries in the kernel ChangeLog file about hyperthreading, so it could be that that was what they changed.
Take a look through the ChangeLogs for 2.4.21 and 2.4.20. I'm fairly sure it was added to one of those.
spagnitz
08-09-2003, 01:48 PM
Thanks for the help both of you..
I combed through the changelogs from 2.4.17 and up but couldln't find much. I "believe" it's working properly now.
Unfortunate that there is only one other person on this forum that is running HT with a newer kernel and is able to take the 30 seconds required to look at their cpuinfo and post the results here.
spagnitz
08-10-2003, 11:07 PM
Solved,
Altering lilo.conf so that the smp kernel boots with"acpi=force" instead of "acpi=off", now shows two cpu's in /proc/cpuinfo.