Messages in this thread | | | Date | Sun, 13 Jul 2008 20:19:10 +0200 | From | Ingo Molnar <> | Subject | Re: current linux-2.6.git: cpusets completely broken |
| |
* Dmitry Adamushko <dmitry.adamushko@gmail.com> wrote:
> > So instead of this illogical and crazy mess: > > > > + switch (phase) { > > + case CPU_UP_CANCELED: > > + case CPU_UP_CANCELED_FROZEN: > > + case CPU_DOWN_FAILED: > > + case CPU_DOWN_FAILED_FROZEN: > > + case CPU_ONLINE: > > + case CPU_ONLINE_FROZEN: > > + case CPU_DEAD: > > + case CPU_DEAD_FROZEN: > > + common_cpu_mem_hotplug_unplug(1); > > > > it should just say > > > > + switch (phase) { > > + case CPU_ONLINE: > > + case CPU_ONLINE_FROZEN: > > + case CPU_DEAD: > > + case CPU_DEAD_FROZEN: > > + common_cpu_mem_hotplug_unplug(1); > > > > because it only makes sense to rebuild the scheduler domains when the > > thing SUCCEEDS. > > > > See? By having a sane design, the code is not just more robust and > > easy to follow, you can also simplify it and make it more logical. > > Yes, I agree. And I did _not_ say that the current design is sane. My > impression about changes acceptable during a late release cycle was > utterly CRAPPY (indeed, it's always better to immediately fix a > problem the right way, not just add another patch and pray it doesn't > break somewhere else).
mind sending Linus's patch as a completed patchset against tip/master (or tip/sched/devel) so that we can do it in early v2.6.27?
i still think your cpusets.c fix is what we should do for v2.6.26, given that there's agreement about how to fix it for real and thus in terms of regression/bug risk your patch is lower-impact and CPU hotplug has been broken for such a long time.
But we should follow it up with Linus's patch immediately afterwards in v2.6.27. Hm?
Ingo
| |