Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 May 2011 19:15:48 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Attilio Rao <attilio@FreeBSD.org>
Cc:        "freebsd-current@freebsd.org" <freebsd-current@FreeBSD.org>, "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org>
Subject:   Re: [rfc] remove hlt_cpus et al sysctls and related code
Message-ID:  <4DDD2B34.5070702@FreeBSD.org>
In-Reply-To: <4DDA8B2A.6010500@FreeBSD.org>
References:  <4DD3F662.9040603@FreeBSD.org>	<BANLkTikOTe9ut3GFx0bhOernKandRGLhPg@mail.gmail.com>	<BANLkTinVGrLoAOS_ZQ1YVB_Fw1cvf5kHyA@mail.gmail.com>	<BBCD9D8C-FCAF-4DE3-9F66-4B65AAABE67B@gmail.com> <BANLkTikMZ_xs4WCJVJG4oHe3rOKU8rqfVw@mail.gmail.com> <4DD54C18.8050305@FreeBSD.org> <4DDA8B2A.6010500@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 23/05/2011 19:28 Andriy Gapon said the following:
> I propose the following path for moving forward.
> - use hint.lapic.X.disabled to disable individual CPUs by their APIC ID
> - use machdep.hyperthreading_allowed tunable to disable second logical CPU on each
> real core
> 
> The above should already work as expected.  One thing is that currently we have
> handling of machdep.hyperthreading_allowed tunable under SCHED_ULE.  I plan to
> make it unconditional.
> 
> Things to remove:
> - all the related sysctls for dynamic onlining/offlining
> - machdep.hlt_logical_cpus tunable (it duplicates hint.lapic.X.disabled)
> 
> It's possible to keep machdep.hlt_logical_cpus and just add some code to convert
> hlt_logical_cpus mask to a set of individual hint.lapic.X.disabled, but I don't
> see very much value in that.  But if there is a good reason to keep that tunable,
> I am prepared to jump through this hoop.
> 
> If no one objects to this proposal, I will provide a patch soon.

The patch is here:
http://people.freebsd.org/~avg/cpu-offline-sysctl.diff
It should implement the strategy described above.

I have mp_watchdog alone for now.  It seems to have the same issues with respect
to dynamic CPU state change.  Besides its compilation is disabled when SCHED_ULE
is enabled.  mp_watchdog is a nice idea, but I wonder if anyone actually uses it
(with success).

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DDD2B34.5070702>