Re: current linux-2.6.git: cpusets completely broken

From: Ingo Molnar
Date: Sun Jul 13 2008 - 13:43:46 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> The thing is, we should fix the top level code to never even
> _consider_ an invalid CPU as a target, and that in turn should mean
> that all the other code should be able to just totally ignore CPU
> hotplug events.

agreed. We thought we could get away by hiding the "is the CPU dead"
information in existing data structures (by shaping sched domains to
never lead to a dead CPU) - but this method has proven itself fragile
via a series of bugs.

It was one micro-optimization one too many. We should just accept the
fact that the current model is not maintainable and add your extra (and
trivial) cpu_active_map layer that protects against migrating to CPUs
that are going down. [we'll basically introduce a "going down" state
inbetween 'online' and 'offline']

And this will get rid of some other fragile trickery - because from that
point on we dont have to be super-careful about the whole sequence of
manipulating sched domains anymore. Cpusets can do whatever it wants, it
wont be able to break hotplug+scheduling - and that's important for any
functionality that is not used by default.

[ I dont think Dmitry will disagree with this notion all that much, it's
just that his personal limit for calling an algorithm unmaintainable
is probably a lot higher than normal :-) ]

Ingo
--
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/