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

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE5093d

9 messages, 3 authors, 2012-09-19 · open the first message on its own page

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

From: Zhao Chenhui <hidden>
Date: 2012-07-20 12:45:23

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(-)
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

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

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(-)
BenH,

Can you ack?

- k
quoted hunk
=20
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 =3D 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);
--=20
1.6.4.1
=20

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

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.
- k
quoted
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

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

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
quoted
- k
=20
quoted
=20
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 =3D request_irq(virq, smp_ipi_action[msg],
-			  IRQF_PERCPU | IRQF_NO_THREAD,
+			  IRQF_PERCPU | IRQF_NO_THREAD | =
IRQF_NO_SUSPEND,
quoted
quoted
			  smp_ipi_name[msg], 0);
	WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
		virq, smp_ipi_name[msg], err);
--=20
1.6.4.1
=20
=20

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

From: Zhao Chenhui <hidden>
Date: 2012-08-02 10:02:33

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

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

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 =
dpm_suspend_noirq().
=20
-Chenhui
Benh, Ack?

- k=

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

From: Kumar Gala <hidden>
Date: 2012-09-13 18:17:11

On Aug 10, 2012, at 7:40 AM, Kumar Gala wrote:
=20
On Aug 2, 2012, at 5:04 AM, Zhao Chenhui wrote:
=20
quoted
On Sat, Jul 28, 2012 at 08:20:31AM +1000, Benjamin Herrenschmidt =
wrote:
quoted
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
quoted
the suspend process will hang in SMP. To prevent this, pass the =
flag
quoted
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
quoted
quoted
have some strong emergency there, it's on my mental list of things =
to
quoted
quoted
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().
quoted
The disable_nonboot_cpus() needs IPIs to work. But prior to
calling disable_nonboot_cpus(), the IPIs are disabled in =
dpm_suspend_noirq().
quoted
=20
-Chenhui
=20
Benh, Ack?
Ben?

- k=

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

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2012-09-13 22:11:53

On Thu, 2012-09-13 at 13:16 -0500, Kumar Gala wrote:
quoted
quoted
Yes, we disabled all non-boot CPUs on suspend by calling
disable_nonboot_cpus().
quoted
quoted
The disable_nonboot_cpus() needs IPIs to work. But prior to
calling disable_nonboot_cpus(), the IPIs are disabled in
dpm_suspend_noirq().
Sure, no biggie on this one, forgot to ack it, just stick my ack in and
put it in your tree.

Cheers,
Ben.

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

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(-)
applied to next

- k=
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help