2

I know it should be a simple matter of grep -wl ht /proc/cpuinfo but that's not always accurate.

I have an i5-7440HQ CPU which doesn't support hyper-threading (Intel, WikiPedia, and my BIOS agree on this).

Yet /proc/cpuinfo and dmidecode both show that hyperthreading is supported (but disabled). Kernel 4.10.8

When running a report of all machines that are HT capable, but have it disabled, this machine shows as a false positive... I'd like to fix that.

Is there a more accurate test that will show that this CPU really doesn't have HT?

Edit:

The related question Checking if HyperThreading is enabled or not? asks how to tell if it's enabled, which is not what I'm asking. Some of the answers to that question mistakenly attempt to answer this question instead, but none of them provide a correct answer (as noted above).

TheAmigo
  • 383
  • 1
    The annoying thing about the latter linked question is that the accepted answer is wrong (although it does point to a correct, if sub-optimal, answer). :-( – Stephen Kitt Apr 07 '17 at 05:40
  • @StephenKitt that's really a different question. When hyperthreading is disabled, it could be because it's turned off in BIOS or because the CPU doesn't support it. The way to check if it's supported (my question) is different than the check to see if it's enabled (the other question). – TheAmigo Apr 09 '17 at 01:09
  • The odd thing here is that /proc/cpuinfo is pretty much a 1-1 representation of the information provided by the CPU itself with the CPUID instruction. How does the BIOS know that HT isn’t supported, if the CPU claims it is? Curious... – Stephen Kitt Apr 09 '17 at 07:57
  • @StephenKitt exactly, it's very odd, that's why I wanted to ask the question. – TheAmigo Apr 09 '17 at 14:13
  • What does cpuid | grep hyper-threading output? (Using cpuid which is probably packaged for your distribution.) – Stephen Kitt Apr 12 '17 at 08:48
  • @StephenKitt reports: hyper-threading / multi-core supported = true – TheAmigo Apr 12 '17 at 19:07
  • That means your CPU claims to support hyper-threading (cpuid just reports the results of the CPUID instruction). What does lscpu | grep " per " report? Do you have any other 7440HQs to test against? – Stephen Kitt Apr 12 '17 at 20:05
  • @StephenKitt Thread(s) per core: 1, but that's really just saying that hyperthreading isn't currently turned on, right? No, I don't have any other 7440HQs (too new), but it's likely that more will show up in the office in the coming months. – TheAmigo Apr 12 '17 at 22:56

0 Answers0