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 <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
@@ -171,7 +171,7 @@ int smp_request_message_ipi(int virq, int msg)}#endiferr=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);
From: Kumar Gala <hidden> Date: 2012-07-27 21:58:46
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.
=20
Signed-off-by: Zhao Chenhui <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2012-07-27 22:20:49
On Fri, 2012-07-27 at 16:58 -0500, Kumar Gala wrote:
On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
quoted
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 <redacted>
Signed-off-by: Li Yang <redacted>
---
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.
From: Kumar Gala <hidden> Date: 2012-07-28 14:03:20
On Jul 27, 2012, at 5:20 PM, Benjamin Herrenschmidt wrote:
On Fri, 2012-07-27 at 16:58 -0500, Kumar Gala wrote:
quoted
On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
=20
quoted
During suspend, all interrupts including IPI will be disabled. In =
this case,
quoted
quoted
the suspend process will hang in SMP. To prevent this, pass the flag
IRQF_NO_SUSPEND when requesting IPI irq.
=20
Signed-off-by: Zhao Chenhui <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
=20
BenH,
=20
Can you ack?
=20
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 ?
=20
Cheers,
Ben.
=20
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:
quoted
On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
quoted
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 <redacted>
Signed-off-by: Li Yang <redacted>
---
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
From: Kumar Gala <hidden> Date: 2012-08-10 12:41:16
On Aug 2, 2012, at 5:04 AM, Zhao Chenhui wrote:
On Sat, Jul 28, 2012 at 08:20:31AM +1000, Benjamin Herrenschmidt =
wrote:
quoted
On Fri, 2012-07-27 at 16:58 -0500, Kumar Gala wrote:
quoted
On Jul 20, 2012, at 7:47 AM, Zhao Chenhui wrote:
=20
quoted
During suspend, all interrupts including IPI will be disabled. In =
this case,
quoted
quoted
quoted
the suspend process will hang in SMP. To prevent this, pass the =
flag
quoted
quoted
quoted
IRQF_NO_SUSPEND when requesting IPI irq.
=20
Signed-off-by: Zhao Chenhui <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
=20
BenH,
=20
Can you ack?
=20
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.
=20
Curiosity: didn't we use to disable all non-boot CPUs on suspend ?
=20
Cheers,
Ben.
=20
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 =
From: Kumar Gala <hidden> Date: 2012-09-19 14:52:38
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.
=20
Signed-off-by: Zhao Chenhui <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)