Is there a way to disable "Hyper-Threading Technology" in modern FreeBSD
systems?
At the time of FreeBSD-SA-05:09.htt, it was suggested to use the following
workaround:
setting the "machdep.hlt_logical_cpus" tunable:
# echo "machdep.hlt_logical_cpus=1" >> /boot/loader.conf
Use of this workaround is not recommended on "dual-core" systems, as this
workaround will also disable one of the processor cores.
But this OID no longer seems to exist and I do not want to disable other
processor cores.
My use case is a VirtualBox dedicated server where I believe using HTT might
be problematic because:
1/ running two busy virtual machines on the same physical core could
severely impact their performance
2/ the virtualizer might expose the real CPU to the virtual machines, which
might in turn attempt to use HTT for themselves
Best regards,
Hubert
For example on a bi-Xeon X5650 FreeBSD 8.0p2 system, the relevant sysctl
OIDs are:
kern.ccpu: 0
<cpu count="24" mask="0xffffff">0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23</cpu>
<cpu count="12" mask="0xfff">0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11</cpu>
<cpu count="2" mask="0x3">0, 1</cpu>
<cpu count="2" mask="0xc">2, 3</cpu>
<cpu count="2" mask="0x30">4, 5</cpu>
<cpu count="2" mask="0xc0">6, 7</cpu>
<cpu count="2" mask="0x300">8, 9</cpu>
<cpu count="2" mask="0xc00">10, 11</cpu>
<cpu count="12" mask="0xfff000">12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23</cpu>
<cpu count="2" mask="0x3000">12, 13</cpu>
<cpu count="2" mask="0xc000">14, 15</cpu>
<cpu count="2" mask="0x30000">16, 17</cpu>
<cpu count="2" mask="0xc0000">18, 19</cpu>
<cpu count="2" mask="0x300000">20, 21</cpu>
<cpu count="2" mask="0xc00000">22, 23</cpu>
kern.smp.cpus: 24
debug.kdb.stop_cpus: 1
hw.ncpu: 24
machdep.hlt_cpus: 0
Perhaps by playing with the mask?
--
View this message in context: http://old.nabble.com/Disabling-HyperThreading--tp28357071p28357071.html
Sent from the freebsd-smp mailing list archive at Nabble.com.
_______________________________________________
freeb...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-smp
To unsubscribe, send any mail to "freebsd-smp...@freebsd.org"
membrana wrote:
>
> Hubert Tournier wrote:
>> Is there a way to disable "Hyper-Threading Technology" in modern FreeBSD
>> systems?
> check your bios settings for hyper-threading technology or similar to
> disable it
>
I forgot to specify that the system is a remote dedicated server, for which
i have no physical access.
I could rent a virtual KVM in order to try to access its BIOS settings, but
i'm not sure this would work.
Any other software solution?
> you may check cpuset(1) to assign one virtual machine per cpu, although
> i didn't test this.
>
Thank you. I didn't knew that one!
Best regards,
Hubert
--
View this message in context: http://old.nabble.com/Disabling-HyperThreading--tp28357071p28359495.html
Sent from the freebsd-smp mailing list archive at Nabble.com.
_______________________________________________
machdep.hlt_cpus
is suppose to tell the scheduler that there is extra cores but not to use them.
try to enable and see with top is there app that use logical cores.
You can manually disable any CPU (except for the boot CPU), via
'hint.lapic.X.disabled=1' in loader.conf. You can find the APIC IDs to use in
place of 'X' in dmesg.
--
John Baldwin