2012-08-02 10:02:33

by Chenhui Zhao

[permalink] [raw]
Subject: Re: [PATCH] powerpc/smp: Do not disable IPI interrupts during suspend

On Sat, Jul 28, 2012 at 08:20:31AM +1000, 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 <[email protected]>
> > > Signed-off-by: Li Yang <[email protected]>
> > > ---
> > > 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.
>
> Curiosity: didn't we use to disable all non-boot CPUs on suspend ?
>
> Cheers,
> Ben.

Yes, we disabled all non-boot CPUs on suspend by calling disable_nonboot_cpus().
The disable_nonboot_cpus() needs IPIs to work. But prior to
calling disable_nonboot_cpus(), the IPIs are disabled in dpm_suspend_noirq().

-Chenhui


2012-08-10 12:41:16

by Kumar Gala

[permalink] [raw]
Subject: Re: [PATCH] powerpc/smp: Do not disable IPI interrupts during suspend


On Aug 2, 2012, at 5:04 AM, Zhao Chenhui wrote:

> On Sat, Jul 28, 2012 at 08:20:31AM +1000, 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 <[email protected]>
>>>> Signed-off-by: Li Yang <[email protected]>
>>>> ---
>>>> 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.
>>
>> Curiosity: didn't we use to disable all non-boot CPUs on suspend ?
>>
>> Cheers,
>> Ben.
>
> Yes, we disabled all non-boot CPUs on suspend by calling disable_nonboot_cpus().
> The disable_nonboot_cpus() needs IPIs to work. But prior to
> calling disable_nonboot_cpus(), the IPIs are disabled in dpm_suspend_noirq().
>
> -Chenhui

Benh, Ack?

- k-