Date: Sat, 28 May 2011 22:48:52 -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: <BANLkTikDG-XOkWdc4Ztd1tJMHW95UEErUQ@mail.gmail.com> In-Reply-To: <4DDD2B34.5070702@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> <4DDD2B34.5070702@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 C= PU on each >> real core >> >> The above should already work as expected. =C2=A0One thing is that curre= ntly 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 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. =C2=A0But 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 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. 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?BANLkTikDG-XOkWdc4Ztd1tJMHW95UEErUQ>