Messages in this thread | | | Date | Fri, 23 Mar 2012 17:23:47 -0700 | From | "Paul E. McKenney" <> | Subject | Re: CPU Hotplug rework |
| |
On Sat, Mar 24, 2012 at 09:57:32AM +1030, Rusty Russell wrote: > On Thu, 22 Mar 2012 15:49:20 -0700, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote: > > On Thu, Mar 22, 2012 at 02:55:04PM +1030, Rusty Russell wrote: > > > On Wed, 21 Mar 2012 10:01:59 +0100, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > > > > Thing is, if its really too much for some people, they can orchestrate > > > > it such that its not. Just move everybody in a cpuset, clear the to be > > > > offlined cpu from the cpuset's mask -- this will migrate everybody away. > > > > Then hotplug will find an empty runqueue and its fast, no? > > > > > > I like this solution better. > > > > As long as we have some way to handle kthreads that are algorithmically > > tied to a given CPU. There are coding conventions to handle this, for > > example, do everything with preemption disabled and just after each > > preempt_disable() verify that you are in fact running on the correct > > CPU, but it is easy to imagine improvements. > > I don't think we should move per-cpu kthreads at all. Let's stop trying > to save a few bytes of memory, and just leave them frozen. They'll run > again if/when the CPU returns.
OK, that would work for me. So, how do I go about freezing RCU's per-CPU kthreads?
Thanx, Paul
| |