Disabling SMT (hyperthreading) in ArchLabs


Thank solved
I have a space after nosmt :hot_face::rage::japanese_ogre::rofl::rofl:


Hi and thanks for a great thread. :star_struck:

Had no issues putting all your good info together. :grinning:

The only thing you can do to make it easy for new comers is to add your post from 32 to post 37 and move this info to post 1. :wink:


Good point! Done! :slight_smile:


Thx @Head_on_a_Stick , for the resolution, appreciated.


This guide is now obsolete, the kernel devs have added a new nosmt kernel parameter that will disable hyperthreading:

The custom unit files and scripts described in this thread should now be removed because they won’t work anymore :slight_smile:


Will the nosmt flag be enabled by default?



Just run this from terminal

lscpu --extended

see the OP for results. :grin:


Sorry, but that is not an answer to my question.
I have already manually disabled SMT in BIOS. My question was specifically if the new kernel will be shipped with the nosmt flag enabled by default or if it will be up to the user to enable it manually if desired.


I would believe it would be set automatically, but running the command from the other post will tell you if it is on by default. You would need to have SMT in Bios set to on to test.

However, If it was me, outside of testing, I would leave SMT disabled at all times in the Bios.

I will be testing it in a few min. Need to switch out computers.


Do you know if it also applies to linux-zen?
Because at the moment if I give lscpu --extend
they all go out.
Thank for help


As per usual with Linux all of the features are enabled regardless of risk, hence the need for the new kernel parameter.

I would much prefer that they disabled SMT by default and allowed a yessmt kernel parameter, that seems to be a more sensible solution.


Have you tried applying the nosmt kernel parameter?

The hyperthreads will stay on unless you do.


Just found that out when I typed to drop nosmt.
Still required here.