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.sstatic.net/61Yv7.png <- screenshot of bios

https://i.sstatic.net/HClGG.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

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

1 Answer 1

1

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

4
  • 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! Commented May 28, 2018 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. Commented May 30, 2018 at 23:59
  • @DaveSmylie Please try enabling Hyperthreading per the graphic I posted. Commented May 31, 2018 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? Commented Jun 7, 2018 at 23:13

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.