Re: [PATCH] xmon: Reset RCU and soft lockup watchdogs
On Tue, 30 Jun 2020 10:02:18 +1000, Anton Blanchard wrote: > I'm seeing RCU warnings when exiting xmon. xmon resets the NMI watchdog, > but does nothing with the RCU stall or soft lockup watchdogs. Add a > helper function that handles all three. Applied to powerpc/next. [1/1] powerpc/xmon: Reset RCU and soft lockup watchdogs https://git.kernel.org/powerpc/c/5c699396f5f6cf6d67055af7b82c270d31fd831a cheers
Re: [PATCH] xmon: Reset RCU and soft lockup watchdogs
Excerpts from Anton Blanchard's message of June 30, 2020 10:02 am: > I'm seeing RCU warnings when exiting xmon. xmon resets the NMI watchdog, > but does nothing with the RCU stall or soft lockup watchdogs. Add a > helper function that handles all three. > > Signed-off-by: Anton Blanchard Acked-by: Nicholas Piggin > --- > arch/powerpc/xmon/xmon.c | 9 - > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c > index 7efe4bc3ccf6..d27944e38b04 100644 > --- a/arch/powerpc/xmon/xmon.c > +++ b/arch/powerpc/xmon/xmon.c > @@ -481,6 +481,13 @@ static inline int unrecoverable_excp(struct pt_regs > *regs) > #endif > } > > +static void xmon_touch_watchdogs(void) > +{ > + touch_softlockup_watchdog_sync(); > + rcu_cpu_stall_reset(); > + touch_nmi_watchdog(); > +} > + > static int xmon_core(struct pt_regs *regs, int fromipi) > { > int cmd = 0; > @@ -718,7 +725,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi) > else > insert_cpu_bpts(); > > - touch_nmi_watchdog(); > + xmon_touch_watchdogs(); > local_irq_restore(flags); > > return cmd != 'X' && cmd != EOF; > -- > 2.26.2 > >
[PATCH] xmon: Reset RCU and soft lockup watchdogs
I'm seeing RCU warnings when exiting xmon. xmon resets the NMI watchdog, but does nothing with the RCU stall or soft lockup watchdogs. Add a helper function that handles all three. Signed-off-by: Anton Blanchard --- arch/powerpc/xmon/xmon.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 7efe4bc3ccf6..d27944e38b04 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -481,6 +481,13 @@ static inline int unrecoverable_excp(struct pt_regs *regs) #endif } +static void xmon_touch_watchdogs(void) +{ + touch_softlockup_watchdog_sync(); + rcu_cpu_stall_reset(); + touch_nmi_watchdog(); +} + static int xmon_core(struct pt_regs *regs, int fromipi) { int cmd = 0; @@ -718,7 +725,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi) else insert_cpu_bpts(); - touch_nmi_watchdog(); + xmon_touch_watchdogs(); local_irq_restore(flags); return cmd != 'X' && cmd != EOF; -- 2.26.2