0

I have a Centos 7.3 server running a dual socket quad core Intel Xeon CPU E5620 @ 2.40GHz. I would like to use hyperthreading on this server but it seems it has been disabled.

The spec sheet for this chip indicates it should support hyperthreading:

Intel® Hyper-Threading Technology ‡ Yes

https://ark.intel.com/products/47925/Intel-Xeon-Processor-E5620-12M-Cache-2_40-GHz-5_86-GTs-Intel-QPI

And the CPU flags indicate the same:

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
            clflush dts mmx fxsr sse sse2 ss **ht** syscall nx rdtscp
            lm constant_tsc arch_perfmon pebs bts nopl xtopolog 
            tsc_reliable nonstop_tsc aperfmperf pni ssse3 cx16 sse4_1
            sse4_2 x2apic popcnt hypervisor lahf_lm ida arat dtherm

The machine currently has an SMP kernel running (i think) based on the name:

Linux PR-ORACLE01.prvln.local 3.8.13-118.14.1.el7uek.x86_64 #2 SMP

The reason I don't think that hyperthreading is enabled is the output from lscpu:

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 26
Model name:            Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0   0    0      0    0:0:0:0       yes
1   0    0      1    0:0:0:0       yes
2   0    1      2    1:1:1:1       yes
3   0    1      3    1:1:1:1       yes

My understanding is that I should be seeing two threads per core instead of just the single thread.

I've had a good hunt around and the only suggestions I could find where to make sure I had an smp kernel running (I think this is the default behaviour now, but based on the name above, my kernel has it), or to try and pass acpi=ht to the kernel via grub at boot. (Didn't help, but acpi was already enabled so I wasn't really expecting this to do much)

This page here: https://www.golinuxhub.com/2018/01/how-to-disable-or-enable-hyper.html indicates that you should be able to turn it on/off by echoing 0 or 1 into

/sys/devices/system/cpu/cpu${i}/online;

(where $i is the cpu in question)

This file does not exist on my machine, but there is a /sys/devices/system/cpu/online file that just contains

0-3

As far as I can tell, this is enabled in the BIOS (or at least Multiprocessor Specification is set to 1.4)

 Multiprocessor Specification:    [1.4]

https://i.imgur.com/oylFALZ.png <- screenshot of bios

https://i.imgur.com/W8lo9od.png <-- screen shot of Advanced Chipset Control

Advanced Chipset Control

Enable memory gap:      [Disabled]
ECC Config:             [Disabled]
SERR signal condition   [Multiple bit]

Am I mis-interpreting the lspcu output? Or is there something else I need to do to enable this?

Thanks

  • Did you enable it in the BIOS? – Ignacio Vazquez-Abrams May 24 '18 at 2:55
  • @IgnacioVazquez-Abrams i think so - see screen shot added to original post – Dave Smylie May 30 '18 at 23:59
  • What's in "Advanced Chipset Control"? – Ignacio Vazquez-Abrams May 31 '18 at 1:19
  • @IgnacioVazquez-Abrams - not much. Have added screen shot above. – Dave Smylie Jun 7 '18 at 23:14
2

Please enable Hyperthreading in the system ROM or BIOS utility.

Depending on the server solution, this needs to be done before the system boots.

enter image description here

  • I suspect this is the correct answer. This is a managed server and whilst the provider assures me everything is set up from their end I suspect it's not. Currently trying to organize an outage so we can see one way or the other - I will update when this happens. Thanks! – Dave Smylie May 28 '18 at 3:31
  • I believe (based on the screenshot above) this this is enabled - though there is no specific Hyperthread On/OFF toggle - just a dropdown for the multiprocessor version. – Dave Smylie May 30 '18 at 23:59
  • @DaveSmylie Please try enabling Hyperthreading per the graphic I posted. – ewwhite May 31 '18 at 3:07
  • see screen shot above @ewwhite. Looks very different with no explicit Hyper-Threading option. I'm guessing maybe that means that although the CPU supports it, the motherboard doesn't? – Dave Smylie Jun 7 '18 at 23:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.