[Bionic][PATCH 0/1] powerpc/watchdog: remove arch_trigger_cpumask_backtrace

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bionic][PATCH 0/1] powerpc/watchdog: remove arch_trigger_cpumask_backtrace

Joseph Salisbury-3
BugLink: http://bugs.launchpad.net/bugs/1762913

== Bionic Justification ==
IBM is requesting commit 47712a921bb7 in Artful and Bionic due to a bug introduced
by mainline commit 2104180a5369 in v4.13-rc1.  Artful requres a back port, so
it's SRU request will be sent separately.

The bug caused by commit 2104180a5369 causes the following:
Assert fail: core/mem_region.c:447:lock_held_by_me(&region->free_list_lock)

Commit 47712a921bb7 is in mainline as of v4.16-rc1.

== Fix ==
47712a921bb7 ("powerpc/watchdog: remove arch_trigger_cpumask_backtrace")

Nicholas Piggin (1):
  powerpc/watchdog: remove arch_trigger_cpumask_backtrace

 arch/powerpc/include/asm/nmi.h |  4 ----
 arch/powerpc/kernel/watchdog.c | 22 ----------------------
 2 files changed, 26 deletions(-)

--
2.7.4


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[Bionic][PATCH 1/1] powerpc/watchdog: remove arch_trigger_cpumask_backtrace

Joseph Salisbury-3
From: Nicholas Piggin <[hidden email]>

BugLink: http://bugs.launchpad.net/bugs/1762913

The powerpc NMI IPIs may not be recoverable if they are taken in
some sections of code, and also there have been and still are issues
with taking NMIs (in KVM guest code, in firmware, etc) which makes them
a bit dangerous to use.

Generic code like softlockup detector and rcu stall detectors really
hammer on trigger_*_backtrace, which has lead to further problems
because we've implemented it with the NMI.

So stop providing NMI backtraces for now. Importantly, the powerpc code
uses NMI IPIs in crash/debug, and the SMP hardlockup watchdog. So if the
softlockup and rcu hang detection traces are not being printed because
the CPU is stuck with interrupts off, then the hard lockup watchdog
should get it with the NMI IPI.

Fixes: 2104180a5369 ("powerpc/64s: implement arch-specific hardlockup watchdog")
Signed-off-by: Nicholas Piggin <[hidden email]>
Signed-off-by: Michael Ellerman <[hidden email]>
(cherry picked from commit 47712a921bb781caf69fca9eae43be19968816cb)
Signed-off-by: Joseph Salisbury <[hidden email]>
---
 arch/powerpc/include/asm/nmi.h |  4 ----
 arch/powerpc/kernel/watchdog.c | 22 ----------------------
 2 files changed, 26 deletions(-)

diff --git a/arch/powerpc/include/asm/nmi.h b/arch/powerpc/include/asm/nmi.h
index e97f586..9c80939 100644
--- a/arch/powerpc/include/asm/nmi.h
+++ b/arch/powerpc/include/asm/nmi.h
@@ -4,10 +4,6 @@
 
 #ifdef CONFIG_PPC_WATCHDOG
 extern void arch_touch_nmi_watchdog(void);
-extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
-   bool exclude_self);
-#define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
-
 #else
 static inline void arch_touch_nmi_watchdog(void) {}
 #endif
diff --git a/arch/powerpc/kernel/watchdog.c b/arch/powerpc/kernel/watchdog.c
index 87da80c..3963baa 100644
--- a/arch/powerpc/kernel/watchdog.c
+++ b/arch/powerpc/kernel/watchdog.c
@@ -393,25 +393,3 @@ int __init watchdog_nmi_probe(void)
  }
  return 0;
 }
-
-static void handle_backtrace_ipi(struct pt_regs *regs)
-{
- nmi_cpu_backtrace(regs);
-}
-
-static void raise_backtrace_ipi(cpumask_t *mask)
-{
- unsigned int cpu;
-
- for_each_cpu(cpu, mask) {
- if (cpu == smp_processor_id())
- handle_backtrace_ipi(NULL);
- else
- smp_send_nmi_ipi(cpu, handle_backtrace_ipi, 1000000);
- }
-}
-
-void arch_trigger_cpumask_backtrace(const cpumask_t *mask, bool exclude_self)
-{
- nmi_trigger_cpumask_backtrace(mask, exclude_self, raise_backtrace_ipi);
-}
--
2.7.4


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED: [Bionic][PATCH 0/1] powerpc/watchdog: remove arch_trigger_cpumask_backtrace

Seth Forshee
In reply to this post by Joseph Salisbury-3
On Wed, Apr 11, 2018 at 12:09:38PM -0400, Joseph Salisbury wrote:

> BugLink: http://bugs.launchpad.net/bugs/1762913
>
> == Bionic Justification ==
> IBM is requesting commit 47712a921bb7 in Artful and Bionic due to a bug introduced
> by mainline commit 2104180a5369 in v4.13-rc1.  Artful requres a back port, so
> it's SRU request will be sent separately.
>
> The bug caused by commit 2104180a5369 causes the following:
> Assert fail: core/mem_region.c:447:lock_held_by_me(&region->free_list_lock)
>
> Commit 47712a921bb7 is in mainline as of v4.16-rc1.
>
> == Fix ==
> 47712a921bb7 ("powerpc/watchdog: remove arch_trigger_cpumask_backtrace")

Applied to bionic/master-next, thanks!

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team