Re: [PATCH 40/45] powerpc, irq: Use GFP_ATOMIC allocations in atomic context
From: Srivatsa S. Bhat <hidden>
Date: 2013-06-25 19:23:31
Also in:
linux-arch, linux-pm, lkml, netdev
From: Srivatsa S. Bhat <hidden>
Date: 2013-06-25 19:23:31
Also in:
linux-arch, linux-pm, lkml, netdev
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