Re: machdep.hyperthreading_allowed does not affect SMT cores

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Wed, 05 Sep 2012 10:02:07 +0300
on 04/09/2012 19:01 Ryan Stone said the following:
> I have a Intel Sandy Bridge system that reports that it has SMT cores
> instead of HTT(under a derivative of FreeBSD 8.2).  I'll admit that I
> don't at all understand the distinction between the two -- I thought
> that HTT was just Intel's name for SMT.  In any case, is there any
> reason that machdep.hyperthreading_allowed should not apply to SMT
> cores, too?

I tend to agree with you.  What we have now is a historic artifact.
For reasons, that are irrelevant now, "HTT" is used as a code name for "old"
Intel's SMT aka HTT and "SMT" is used for "newer" Intel's SMT aka HTT.
It was considered that old HTT was "bad and ugly" and new HTT was good.  So all
kinds of limitations were applied to the old one and not to the new one.
While there is certain truth to that distinction, what FreeBSD currently does is
still illogical.  HTT is still HTT whether it's new or old.  E.g. I think that
it doesn't make sense to assign interrupts to the second thread with either
version of HTT.  Besides, I think that the current CPU detection code sucks at
deciding which HTT is which.

I have some new SMP topology detection code in the works.  It eliminates the
artificial difference and retires "HTT" name in favor of the vendor-agnostic
"SMT".  I just a final push to tidy up that code before suggesting it for the
tree.  But I wasn't able to make that push in over a year, sigh...

-- 
Andriy Gapon
Received on Wed Sep 05 2012 - 05:02:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:30 UTC