I just did some quick tests of hyper-threading on my new E5-2696v3 CPU. I compiled the Linux 6.0.10 kernel with and without hyper-threading enabled. Here’s the times for “make -j36 bzImage” and “make -j36 modules” with HT enabled:
real 2m26.540s user 55m25.121s sys 9m56.443s real 10m57.374s user 309m21.531s sys 58m1.070s
Here’s the times for “make -j18 bzImage” and “make -j18 modules” with HT disabled:
real 2m40.501s user 31m35.295s sys 5m43.523s real 11m39.313s user 170m46.840s sys 31m37.756s
That’s 9.6% faster for bzImage and 6.4% faster for modules.
So for a performance boost that’s between 5% and 10% I get greater exposure to kernel security issues and more difficulty tracking CPU time. That doesn’t seem like a good trade-off so I’ve put the “nosmt” kernel command-line option back.