SMT and different Linux kernels

I have both the current arch kernal installed and the long term version installed. For some reason, when I boot up using the up to date arch kernel, /sys/devices/system/cpu/smt/control tells me that SMT is notsupported, but when I run linux-lts it says that it is on. lscpu tells me on both kernels that the cpu has the flag ht (which I don’t fully get as that is supposed to be an intel cpu thing right? Yet I am using amd), but on the regular kernel it says 1 thread per core, 4 cores per socket, while linux-lts it tells me 2 threads per core, 2 cores per socket. Both say one socket. dmidecode for both kernels says all 4 exists and are enabled and that there are 4 threads in total and also gives the HTT flag. likwid-topology gives me an identical output as far as I can tell.

Beyond the discreprencies, I get the feeling that I am not getting the ideal state out of my cpu with either kernel, which should be like multiple threads per all 4 cores right?

I also noticed in lscpu on linux-lts it lists AMD-V for Virtualization, while not listing virtualization at all on the other kernel. I don’t know where this fits in to the issue.

Here are screenshots for likwid-topology, lscpu and dmidecode:


Regular linux dmidecode p2
Regular linux likwid-topology


Linux-lts dmidecode p2
Linux-lts likwid-topology

inxi -FAZ --no-host (while running the up to date kernel): https://0x0.st/Xv7e.txt
I can get the output for the lts kernel if that matters.

SMT is an Intel thing. This processor is 4 core 4 thread base frequency 2.4 Ghz Maximum Turbo 3.3 Ghz

https://www.cpu-world.com/CPUs/Bulldozer/AMD-A10-Series%20PRO%20A10-8730B.html

since version kernel 6.9 , topology cpu has been rewrite for all

you should report the bug to https://bugzilla.kernel.org/

  • Component: x86-64
  • Product: Platform Specific/Hardware

As per the article this is to clean-up a mess of aging kernel code as well as some areas of the code being incorrect in today’s era of hybrid Intel Core processors with a mix of P / E cores with the E cores lacking SMT/HT and thus throwing off prior kernel assumptions.

I think this is more related to todays era of hybrid Intel Core processors. The OP is using a somewhat dated amd cpu which doesn’t have SMT from what i can see.

all has been rewrited for cpu topology , or for the andrew case , it shows different things :

  • no virtual cpu , no smt 6.9 or more
  • virtual cpu , smt on version 6.6 or 6.1

So this is just a conflict between kernels reading my topology? If so, then why does it say on on both kernels that the CPU has the ht flag on lscpu and HTT on dmidecode?

I understand what you are saying. I just don’t think the A10-8730B AMD processor supports some of these features whether or not the tools used to check are reporting differences. :person_shrugging:

I think I found out what is going on. I was installing other packages that get CPU information to see if they came up with ht flag as well, and one I have installed actually tells me what all the flags are. This is all to say that I have just noticed that I have the cmp_legacy flag and wouldn’t have noticed the significance of that until just now thanks to hardinfo2. I guess that solves everything. I’ll get to writing that bug report about the different kernels now.

Just one last question though - what does the cmd_legacy flag fuly mean? The description only tells me that it makes hyperthreading invalid but that doesn’t really tell me anything.

Maybe this helps.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.