[PATCH] powerpc/smp: Do not disable IPI interrupts during suspend

Kumar Gala galak at kernel.crashing.org
Sun Jul 29 00:03:00 EST 2012


On Jul 27, 2012, at 5:20 PM, Benjamin Herrenschmidt wrote:

> On Fri, 2012-07-27 at 16:58 -0500, Kumar Gala wrote:
>> On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
>> 
>>> During suspend, all interrupts including IPI will be disabled. In this case,
>>> the suspend process will hang in SMP. To prevent this, pass the flag
>>> IRQF_NO_SUSPEND when requesting IPI irq.
>>> 
>>> Signed-off-by: Zhao Chenhui <chenhui.zhao at freescale.com>
>>> Signed-off-by: Li Yang <leoli at freescale.com>
>>> ---
>>> arch/powerpc/kernel/smp.c |    2 +-
>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>> 
>> BenH,
>> 
>> Can you ack?
> 
> No I'll merge it but not until it's been in next for a bit unless you
> have some strong emergency there, it's on my mental list of things to
> shovel into next after rc1.

I wasn't clear, I was meaning for my 'next' tree, not 3.6.  Trying to get these FSL PM patches into my 'next' for 3.7.

- k

> Curiosity: didn't we use to disable all non-boot CPUs on suspend ?
> 
> Cheers,
> Ben.
> 
>> - k
>> 
>>> 
>>> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
>>> index fecb038..d26bbf8 100644
>>> --- a/arch/powerpc/kernel/smp.c
>>> +++ b/arch/powerpc/kernel/smp.c
>>> @@ -171,7 +171,7 @@ int smp_request_message_ipi(int virq, int msg)
>>> 	}
>>> #endif
>>> 	err = request_irq(virq, smp_ipi_action[msg],
>>> -			  IRQF_PERCPU | IRQF_NO_THREAD,
>>> +			  IRQF_PERCPU | IRQF_NO_THREAD | IRQF_NO_SUSPEND,
>>> 			  smp_ipi_name[msg], 0);
>>> 	WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
>>> 		virq, smp_ipi_name[msg], err);
>>> -- 
>>> 1.6.4.1
>>> 
> 



More information about the Linuxppc-dev mailing list