On 06/25/2013 08:43 AM, Benjamin Herrenschmidt wrote:
On Tue, 2013-06-25 at 12:58 +1000, Michael Ellerman wrote:
quoted
On Tue, Jun 25, 2013 at 12:13:04PM +1000, Benjamin Herrenschmidt wrote:
quoted
On Tue, 2013-06-25 at 12:08 +1000, Michael Ellerman wrote:
quoted
We're not checking for allocation failure, which we should be.
But this code is only used on powermac and 85xx, so it should probably
just be a TODO to fix this up to handle the failure.
And what can we do if they fail ?
Fail up the chain and not unplug the CPU presumably.
BTW. Isn't Srivatsa series removing the need to stop_machine() for
unplug ?
Yes.
That should mean we should be able to use GFP_KERNEL no ?
No, because whatever code was being executed in stop_machine() context
would still be executed with interrupts disabled. So allocations that
can sleep would continue to be forbidden in this path.
In the CPU unplug sequence, the CPU_DYING notifications (and the surrounding
code) is guaranteed to be run:
a. _on_ the CPU going offline
b. with interrupts disabled on that CPU.
My patchset will retain these guarantees even after removing stop_machine().
And these are required for the correct execution of the code in this path,
since they rely on these semantics.
So I guess I'll retain the patch as it is. Thank you!
Regards,
Srivatsa S. Bhat