How is hyperthreading handled on amd64?

Bill Moran wmoran at
Mon Mar 13 15:41:58 UTC 2006

On Mon, 13 Mar 2006 15:16:15 +0000
Pete French <petefrench at> wrote:

> > 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.
> Uh, a typo on my part - substitute *machine* for *kernel*. Sorry!
> A machine with one physical processor works fine - can enable and disable
> hyperthreading as per the manual. A machine with two physical processors
> always gets hyperthreading enabled though. All of these machines are
> running 6.0 currently - though I will verify that the bug is still there
> on 6.1 when I get a moment to do an update on them.

Again, not what I'm seeing here.  It appears as if the machine behaves
identically no matter what machdep.hyperthreading_allowed is set to.
The machine I'm testing on only has a single physical processor.

I've been running ubench multiple times to test this, and I see processes
on CPUs 1 and 0 no matter what I set the above sysctl to.  I also don't
see any difference in ubench's performance numbers.

Bill Moran
Collaborative Fusion Inc.

More information about the freebsd-amd64 mailing list