AW: Hyper-Threading disabled on Pentium 4
"Bernhard Lummer" <[email protected]> Thu, 26 Aug 2004 15:27:14 +0200
| Newsgroups | org.kernel.vger.linux-smp |
|---|---|
| Message-ID | <[email protected]> |
Hi, May be this helps? http://seclists.org/lists/linux-kernel/2002/Dec/3261.html Good luck! Bernhard > -----Ursprüngliche Nachricht----- > Von: [email protected] > [mailto:[email protected]]Im Auftrag von Urs Thuermann > Gesendet: Donnerstag, 26. August 2004 13:17 > An: [email protected] > Betreff: Hyper-Threading disabled on Pentium 4 > > > I'd like to run an SMP kernel with Hyper-Threading on a Pentium 4 > processor, but dmesg tells me, it's disabled. Sorry, I don't know > what mainboard this is. > > AFAIK, the CPU is able to do Hyper-Threading, and also /proc/cpuinfo > seems to indicate so: > > $ cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 15 > model : 2 > model name : Intel(R) Pentium(R) 4 CPU 2.40GHz > stepping : 7 > cpu MHz : 2424.718 > cache size : 512 KB > physical id : 0 > siblings : 1 > 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 pbe cid > bogomips : 4784.12 > > $ > > I think, the ht flag means Hyper-Threading, right? However, when I > boot with a Linux-2.6.7 SMP kernel, I find the following in dmesg > output: > > Initializing CPU#0 > PID hash table entries: 2048 (order 11: 16384 bytes) > Detected 2424.718 MHz processor. > Using tsc for high-res timesource > Console: colour VGA+ 80x25 > Memory: 515808k/524208k available (1769k kernel code, 7656k > reserved, 606k data, 372k init, 0k highmem) > Checking if this processor honours the WP bit even in > supervisor mode... Ok. > Calibrating delay loop... 4784.12 BogoMIPS > Security Scaffold v1.0.0 initialized > Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) > Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) > Mount-cache hash table entries: 512 (order: 0, 4096 bytes) > CPU: After generic identify, caps: bfebfbff 00000000 > 00000000 00000000 > CPU: After vendor identify, caps: bfebfbff 00000000 > 00000000 00000000 > CPU: Trace cache: 12K uops, L1 D cache: 8K > CPU: L2 cache: 512K > CPU: Hyper-Threading is disabled > CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 > Intel machine check architecture supported. > Intel machine check reporting enabled on CPU#0. > CPU0: Intel P4/Xeon Extended MCE MSRs (12) available > CPU0: Thermal monitoring enabled > Enabling fast FPU save and restore... done. > Enabling unmasked SIMD FPU exception support... done. > Checking 'hlt' instruction... OK. > CPU0: Intel(R) Pentium(R) 4 CPU 2.40GHz stepping 07 > per-CPU timeslice cutoff: 1462.74 usecs. > > Looking into linux-2.6.7/arch/i386/kernel/cpu/intel.c, I found the > message comes from the code > > cpuid(1, &eax, &ebx, &ecx, &edx); > smp_num_siblings = (ebx & 0xff0000) >> 16; > > if (smp_num_siblings == 1) { > printk(KERN_INFO "CPU: Hyper-Threading is disabled\n"); > } else if (smp_num_siblings > 1 ) { > > So why does the CPUID instruction yield only one sibling? Is this a > known problem? Is there a way to enable Hyper-Threading on that > machine? > > > urs > - > To unsubscribe from this list: send the line "unsubscribe linux-smp" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >