SMP & CPU_SUSP_HLT
Bruno Van Den Bossche
bruno.van.den.bossche at pandora.be
Fri Jun 20 23:43:19 PDT 2003
On Sat, 21 Jun 2003 02:47:42 +0100 (BST)
RMH <rmhlldr at yahoo.co.uk> wrote:
> Hello gentlemen,
>
> it seems CPU_SUSP_HLT does nothing for SMP kernels.
>
> i386/i386/machdep.c:
>
> #ifdef SMP
> static int cpu_idle_hlt = 0;
> #else
> static int cpu_idle_hlt = 1;
> #endif
>
> It's noted that when enabled it will result in about 4.2%
> loss in performance while doing buildworld. I haven't
> checked with that, but I tested single-threaded applications
> to suffer for about 2%, what shouldn't be a big difference.
>
> Beyond power consumption, suspend on HLT may solve some
> overheating issues common for multiprocessor systems. At
> least, it does so in my case.
>
> I suggest to remove #ifdef SMP, and place a warning into
> NOTES. Let people decide.
People can decide :-)
You can set 'machdep.cpu_idle_hlt: 1' with sysctl. This will enable the
hlt's for you. On single cpu-systems this is set by default. On
SMP-systems it isn't, because of the "loss" in performance you already
mentioned.
--
Bruno
Weinberg's Principle: An expert is a person who avoids the small
errors while sweeping on to the grand fallacy.
More information about the freebsd-current
mailing list