The machdep.hyperthreading_allowed & ULE weirdness in 7.1
Robert Watson
rwatson at FreeBSD.org
Mon Feb 23 12:27:06 PST 2009
On Mon, 23 Feb 2009, Maxim Sobolev wrote:
>>> Unfortunately access to BIOS is not always an option and also some BIOSes
>>> don't even provide a feature to turn HTT off.
>>
>> It's not quite that simple -- in a world of device drivers pinning threads
>> to CPUs for workload distribution, callout threads and
>> sched_bind()/sched_pin() for crypto load distribution, etc, you need a
>> whole infrastructure for software-disabled CPUs. Disabling it using the
>> BIOS or device.hints is the only reliable way to do this right now.
>> Changing the architecture of the kernel to disable CPU cores after boot is
>> a significant investment of work, and as I mentioned elsewhere, it is
>> disable to do this so that we can support dynamic reconfiguration in the
>> presence of a hypervisor, but it's highly non-trivial. There may be some
>> shortcuts that can be taken for policy reasons in the probing of CPUs when
>> the topology is detected that avoid the full dynamic solution having to be
>> done in the short-term, that in effect are a short-hand for device.hints
>> entries, but I don't know to what extent the CPU topology from ACPI is
>> available at the point where we'd need to know that.
>
> So, are you suggesting that we should disable machdep.hyperthreading_allowed
> with ULE in 7.x and current to avoid confusion?
Possibly even without ULE.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list