Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Mar 2006 09:43:56 -0500
From:      Bill Moran <wmoran@collaborativefusion.com>
To:        Pete French <petefrench@ticketswitch.com>
Cc:        bseklecki@collaborativefusion.com, freebsd-amd64@freebsd.org
Subject:   Re: How is hyperthreading handled on amd64?
Message-ID:  <20060313094356.d7f0988a.wmoran@collaborativefusion.com>
In-Reply-To: <E1FIoBB-00011G-P4@dilbert.firstcallgroup.co.uk>
References:  <20060313085431.0eb059d9.wmoran@collaborativefusion.com> <E1FIoBB-00011G-P4@dilbert.firstcallgroup.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Mar 2006 14:37:49 +0000
Pete French <petefrench@ticketswitch.com> wrote:

> > After building a kernel with SMP, I do see 2 logical processors,
> > and top(1) shows both of them doing their thing.  However,
> > machdep.hypterthreading_allowed is set to 0.  Is the amd64 kernel
> > ignoring this value, or is top(1) reporting incorrectly?
> 
> It seems to be a bug - if you have an SMP kernel you cant turn off
> hyperthreading, no matter which knobs you twiddle. Not amd64 specific
> either. Even with all the hyperthreading variables off and with the
> masks showing that processes should not be scheduled on the second CPU's
> I still see stuff on 0, 1, 2 and 3.

I don't see this behaviour on i386 - my desktop, for example uses only
CPU 0 if the sysctl is 0, and switches between 0 and 1 when the sysctl
is 1.

Also doesn't explain the lack of any performance improvement with ht
enabled.  I'm aware of the argument that HT is really multiprocessers,
thus the performance increase isn't all one would expect.  However,
in i386 systems, enabling HT results in a _noticeable_ performance
improvement under most loads.

-- 
Bill Moran
Collaborative Fusion Inc.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060313094356.d7f0988a.wmoran>