Linux kernel supporting hyperthreading technology

I am running RedHat 2.4.21-9.EL kernel with 1 Xeon processor. Here's a few questions regarding hyperthreading support on Xeon with this kernel.

1. I have heard that the 2.4 kernel only partially support hyperthreading. The full support comes in the 2.6 kernel. How are these 2 kernels different in supporting hyperthreading?

2. Do I need to run the smp kernel to enable hyperthreading even I'm running only 1 physical processor?

3. What's the relationship between irq balancing and hyperthreading? Is irq balancing a requirement for hyperthreading?

Many thanks in advance!

Phoneix
phoenix20006Asked:
Who is Participating?
 
wesly_chenConnect With a Mentor Commented:
Hi,

  From the kernel.org, kernel 2.4.x is partially support HT. However, RedHat has some tunning on RHEL 3.0 so RHEL 3.0 did support HT.
------
  Hyper-Threading, also referred to as simultaneous multithreading (SMT), allows different threads to run simultaneously on different execution units within one physical processor. Hyper-Threading extends multi-threading using an architecture state where one physical processor can look like two (or more) logical processors to the operating system and applications.
 
  A Hyper-Threading enabled processor can manage data as if it were two logical processors by handling data instructions in parallel rather than serially.
------
  The answer for the Q2 is Yes. You need to install SMP kernel and boot SMP kernel to use HT.

  As for the Q1, the different is in the kernel architecture, the main different is the scheduler. The schedule of kenel 2.4.x couldn't really tell the phyical CPU from logical CPU. So it may schehule two processes into the same CPU with HT turn-on and
leave the other CPU (say you have two phyical CPUs) idle. This happens on RHEL 2.1 and reduce the performance.

  Hence, the answer to the Q3 is that IRQ balancing has to be per-phyical-CPU in order to take advantage of HT.

  Developers who thread applications are positioned to take advantage of Hyper-Threading Technology. Threaded applications can immediately pick up all the performance benefits of Hyper-Threading based multiprocessing whenever they are running on an Intel Hyper-Thread enabled processors.

  So you may turn on HT on the BIOS and run SMP kernel on your RHEL 3.0 box to gain some performance of threaded application.

Regards,

Wesly
0
 
phoenix20006Author Commented:
Thanks Wesly, but if you would dig a little deeper into IRQ balancing, I would really appreciate it. What does it mean by "IRQ balancing has to be per physical CPU"? and where do I configure IRQ balancing?
What I realize is that I can turn off IRQ balancing under chkconfig, let say I did that, would that mean I won't be able to take the full benefits of HT? or HT just simply won't work without IRQ balancing?

Thanks!

Phoenix
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.