Ah I see, my instincts were wrong. Usually the complexity of the kernel is the root cause of problems. In this case, the rate of churn is the problem. Kernel devs want to change SMP primitives frequently, and having to go back and think about the 386 paradigm is a barrier to that goal. CPU manufacturers want to ensure that Linux uses their CPUs at maximum efficiency, so SMT primitive tweaking is a fact of life.