Re: Identification of HTT cores on newer (CPUID leaf 11) Intel processors

From: Andrew Boyer <aboyer_at_averesystems.com>
Date: Wed, 14 Sep 2011 16:02:41 -0400
On Sep 14, 2011, at 3:56 PM, Andriy Gapon wrote:

> on 14/09/2011 20:59 Andrew Boyer said the following:
>> When FreeBSD examines the CPU topology using CPUID leaf 11 in
>> topo_probe_0xb(), it never sets hyperthreading_cpus.  At the end of
>> topo_probe_0x4() it sets hyperthreading_cpus = cpu_logical.
>> 
>> Adding that assignment to line 316 of sys/amd64/amd64/mp_machdep.c seems to
>> do the right thing on a system with two quad-core E5620 CPUs.  The APIC IDs
>> that appear when SMT is enabled in the BIOS get marked AP/HT.
>> 
>> Do you agree?
> 
> I agree, but...
> But see this:
> http://thread.gmane.org/gmane.os.freebsd.devel.hackers/44007/focus=44024
> 
> Someone long ago has decided that new HTT is not the same as old HTT and that
> some rules that apply to old HTT should not apply to new HTT.  Even the name.
> I think that that's not correct.
> But it doesn't seem that I am able to engage into a discussion the person who
> made that decision.  Also I can not find any other interested developer either.
> 
> Anyway, hyperthreading_cpus variable is useless beyond dmesg cosmetics.
> And I don't think that any of my changes affected the dmesg output.
> 
> In my "avgBSD" I have different SMP topology code, but it's not ready yet to be
> submitted for merge into the main tree.
> 
> -- 
> Andriy Gapon


Actually, it's not useless.  If you don't set it to something other than zero the machdep.hyperthreading_allowed tunable doesn't do anything, since it can't tell which CPUs are actually HTT.

-Andrew

--------------------------------------------------
Andrew Boyer	aboyer_at_averesystems.com
Received on Wed Sep 14 2011 - 18:02:47 UTC

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