2004-03-19 03:19:05

by Brown, Len

[permalink] [raw]
Subject: how to disable HT

BIOS SETUP is the best method to disable HT. But sometimes
that isn't practical, so disabling at Linux boot-time is needed.

Most OEMs' BIOS enumerates primary logical processors before
secondary logical processors -- so reducing NR_CPUS at build-time
can start a processor per package before hitting the limit --
effectively disabling HT.

2.6.5-rc1-mm2 includes a patch that allows boot-time maxcpus=N to
work the same as NR_CPUS=N:

http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc1/2.6.5-rc1-mm2/broken-out/bk-acpi.patch

It moves maxcpus=N earlier to cpu enumeration time
from CPU startup time.

So if disabling HT at boot-time is important to you, please
try it out and comment on the success/failure in the bug report:
http://bugzilla.kernel.org/show_bug.cgi?id=2317

I expect that it will work on most systems, but not all, and so it
is important to look in dmesg to verify that it disabled the
secondary logical processors at intended.

eg. system with 4 logical processors booted with maxcpus=2:

Total of 2 processors activated (11091.96 BogoMIPS).
WARNING: No sibling found for CPU 0.
WARNING: No sibling found for CPU 1.

thanks,
-Len