Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I recently bought a new computer (yay) - it's got an Intel P4 2.8 Hyperthreaded processor and picks it up fine under windows yet in Linux which i'd most like to see it working it's not picking it up as hyperthreaded...
If I do a cat /proc/cpuinfo I only get the following:
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 3
model name : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping : 3
cpu MHz : 2793.042
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
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 pni monitor ds_cpl cid
bogomips : 5570.56
Do you use an SMP-enabled kernel? All major distributions come with a kernel that is compiled with SMP (support for multiple processors) as an option. Check your install CD's and see what kernels are available to you.
K i had an SMP enabled kernel installed (just never used it) - rebooted and booted using that kernel and I could see the 2x CPU's BUT for some strange reason it won't start X - I get an error about not being able to start NVIDIA and that there's no screens...
Weird cos i've got the nVidia drivers installed, works perfectly when running a standard kernel but when I use SMP it doesn't
From the XFre86 log file (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!
(EE) NVIDIA(0): *** Aborting ***
The Nvidia driver is a part binary, part source based driver. The binary part contains their secret sauce, and the source part is there to provide an interface to pretty much any current Linux kernel. The source part is an interface that is compiled against the kernel source of the kernel you're running to create a module that can be loaded and used by your kernel.
You can download the .tar.gz package from the Nvidia Linux driver download page and build it against your kernel. Install the kernel-source package that matches your SMP kernel package, and make sure you have gcc and the other necessary tools installed (a basic sane development environment, that is) and then read the Nvidia instructions carefully. There is also a source RPM (SRPM) package on the Nvidia driver page but I can't really recommend it since I have never used it and don't know how it works. Read the docs, it may be easier to use that though.
K I installed the driver on the SMP kernel and works perfectly - YAY man, my FC1 install isn't even using 2% of 1 CPU - this is kewl Now I gotta try and upgrade my kernel cos apparently 2.6 has got better hyperthreading support
I am in charge of of a cluster with P4 2.8 GHz hyperthreaded processors running Fedora Core 1.
Fedora's original kernel 2.4.22-1.2115.nptl seem to manage hyperthreading and SMP well, however, for some reason, the machines suddenly started to hang out. We never knew exactly why, but after several (a lot, actually) hardware tests, we came to the conclusion that we had to change the kernel, and so we did.
Now we are using kernel.org's 2.6.5. And nothing is hanging anymore. However, in configuration of 2.4.22-1.2115.nptl there were options specific to hyperthreading. Kernel.org's 2.6.5 don't have them.
Besides , if I enable SMP, linux actually finds two processors, but, the time() function starts to act in a very strange way. No matter how many processes you start, all of them are reported with real time almost equal to user time, which, of course, is impossible.
As long as the cluster is meant for performance tests, is crucial that time() works properly, so I disabled SMP and everything is fine, but I can't take advantage of HT.
Does somebody know how to manage this? I guess there must be a patch specific to hyperthreading, am I right?