On 06/05/2012 11:10 PM, Thomas Gleixner wrote: > On Sat, 2 Jun 2012, Srivatsa S. Bhat wrote: >> Ok.. So, I would love to hear a confirmation about whether this patch (which >> removes cpu_bringup() in xen_play_dead()) will break things or it is good as is. >> >> If its not correct, then we can probably make __cpu_post_online() return an int, >> with the meaning: >> >> 0 => success, go ahead and call cpu_idle() >> non-zero => stop here, thanks for your services so far.. now leave the rest to me. >> >> So all other archs will return 0, Xen will return non-zero, and it will handle >> when to call cpu_idle() and when not to do so. >> >> Might sound a bit ugly, but I don't see much other option. Suggestions are >> appreciated! > > Yes, it's butt ugly. > > You are tripping over the main misconception of the current hotplug > code: It's asymetric. > > So people added warts and workarounds like the xen one. What you are > proposing is another wart and workaround. > > The real way to avoid it, is to have the symetric state machine in > place first and then convert everything to that instead of introducing > an intermediate state which resembles the existing state. > > One of the main things we need to do to make it symetric is to kill > the play_dead() thing in the idle loop and make idle a function which > returns on cpu_should_die(). > > Give me a day or two and I get you a working version of that. (Up is > functional, just down refuses to play along) > Oh great! So, then I'll wait for your patches and then adapt this patchset to your model then. Let me know if I can help out with something.. Regards, Srivatsa S. Bhat _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization