cvs commit: src/sys/i386/i386 local_apic.c src/sys/amd64/amd64
local_apic.c
John Baldwin
jhb at freebsd.org
Tue Sep 5 10:28:03 PDT 2006
On Tuesday 05 September 2006 13:15, Maxim Sobolev wrote:
> sobomax 2006-09-05 17:15:25 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/i386/i386 local_apic.c
> sys/amd64/amd64 local_apic.c
> Log:
> The FreeBSD by default "disables" hyper-threading cores, by not scheduling
> any threads to them. However, it still counts those cores as "active but
> permanently idle" when calculating system-wide CPUs statistics. It is
> incorrect, since it skews statistics quite a bit and creates real problems
> for certain types of applications (monitoring applications for example),
> by making them believe that the system does have enough idle CPU
resources,
> while in fact it does not.
>
> Correct the problem by not calling performance counting routines
on "disabled"
> cores. The cleaner solution would be to just disable APIC timer interrupts
on
> those cores completely, but ENOTIME here and it is not clear if the
> additional complexity really worth minor performance gain.
Is this going to break various places dividing stats by hw.ncpu (in userland)
or mp_ncpus (in kernel)? (That is, are there any such places. If so, you
just broke them.)
--
John Baldwin
More information about the cvs-src
mailing list