Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 May 2011 23:06:31 -0400
From:      Attilio Rao <attilio@freebsd.org>
To:        Andriy Gapon <avg@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:  <BANLkTin4h%2BDSV4hh-AOSkif4-GBvoQHWsg@mail.gmail.com>
In-Reply-To: <BANLkTikDG-XOkWdc4Ztd1tJMHW95UEErUQ@mail.gmail.com>
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> <4DDD2B34.5070702@FreeBSD.org> <BANLkTikDG-XOkWdc4Ztd1tJMHW95UEErUQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2011/5/28 Attilio Rao <attilio@freebsd.org>:
> 2011/5/25 Andriy Gapon <avg@freebsd.org>:
>> 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. =C2=A0One thing is that curr=
ently we have
>>> handling of machdep.hyperthreading_allowed tunable under SCHED_ULE. =C2=
=A0I 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 t=
o convert
>>> hlt_logical_cpus mask to a set of individual hint.lapic.X.disabled, but=
 I don't
>>> see very much value in that. =C2=A0But if there is a good reason to kee=
p 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 don't see the point in keeping alive mp_grab_cpu_hlt() and
> supporting, actually.
>
> On the top of your patch I made some modifies that use directly
> ap_watchdog() in cpu_idle() which I think is better for the time
> being:
> http://www.freebsd.org/~attilio/avg_rem_cpuhlt.diff
>
> If you are happy with it, just commit as long as Garrett tests that.
>
> On a second round of changes we can discuss mp_watchdog and eventual
> removal / improvements to it.

I almost forgot: this change would also require an UPDATE entry, where
you explicitly mention the "new" way to deal with CPUs. Use your
prefer wording.

Attilio


--=20
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTin4h%2BDSV4hh-AOSkif4-GBvoQHWsg>