Re: CPU Hotplug rework
From: Peter Zijlstra
Date: Tue Mar 20 2012 - 06:43:03 EST
On Tue, 2012-03-20 at 10:12 +1030, Rusty Russell wrote:
> On Mon, 19 Mar 2012 20:14:25 +0530, "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> wrote:
> > Hi,
> >
> > There had been some discussion on CPU Hotplug redesign/rework
> > some time ago, but it was buried under a thread with a different
> > subject.
> > (http://thread.gmane.org/gmane.linux.kernel/1246208/focus=1246404)
> >
> > So I am opening a new thread with an appropriate subject to discuss
> > what needs to be done and how to go about it, as part of the rework.
> >
> > Peter Zijlstra and Paul McKenney had come up with TODO lists for the
> > rework, and here are their extracts from the previous discussion:
>
> This is possible, but quite a lot of tricky auditing work. There's an
> underlying assumption that stop_machine is the slow part, since it feels
> so heavy.
Depends on the machine and the needs. For the regular desktop with a
regular kernel, the stop_machine in hotplug isn't really a problem. For
_BIG_ machines stop_machine is a problem, for -RT stop_machine is a
problem.
So if we're going to re-architect hotplug anyway, it would be very good
to get rid of it, because I really don't see any hard reasons why we
would need it.
> Unfortunately, this doesn't seem to be the case in my testing. The time
> for hotplug seems to be moving all the threads around. So how about:
Agreed, the thread creation on online is the most expensive operation.
> (1) Let's not shutdown per-cpu kthreads, just leave them there to run
> if the CPU comes back.
Wasn't as easy as it sounds, but should be doable.
> (2) Do something more efficient with userspace threads than migrating
> them one at a time.
Sadly that can't really be done. We need to pick up every task
(userspace, but also running kernel threads) and update their state.
> Otherwise, we risk doing a great deal of work and gaining nothing
> (cleanups aside, of course).
I don't really think its possible to spend too much time cleaning up
hotplug at this point :-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/