Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Sep 2011 16:02:41 -0400
From:      Andrew Boyer <aboyer@averesystems.com>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Identification of HTT cores on newer (CPUID leaf 11) Intel processors
Message-ID:  <70B018CB-4658-45DD-929E-A953B299E737@averesystems.com>
In-Reply-To: <4E7106DE.40707@FreeBSD.org>
References:  <2C3C4570-C5F9-42F5-AA81-900151590DB8@averesystems.com> <4E7106DE.40707@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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 =3D cpu_logical.
>>=20
>> 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.
>>=20
>> Do you agree?
>=20
> I agree, but...
> But see this:
> =
http://thread.gmane.org/gmane.os.freebsd.devel.hackers/44007/focus=3D44024=

>=20
> 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.
>=20
> Anyway, hyperthreading_cpus variable is useless beyond dmesg =
cosmetics.
> And I don't think that any of my changes affected the dmesg output.
>=20
> In my "avgBSD" I have different SMP topology code, but it's not ready =
yet to be
> submitted for merge into the main tree.
>=20
> --=20
> 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@averesystems.com







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?70B018CB-4658-45DD-929E-A953B299E737>