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:
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.
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.
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.