lkml.org 
[lkml]   [2008]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: current linux-2.6.git: cpusets completely broken

* Linus Torvalds <torvalds@linux-foundation.org> 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


\
 
 \ /
  Last update: 2008-07-13 19:45    [from the cache]
©2003-2011 Jasper Spaans