Re: [PATCH] sched/debug: Reset watchdog on all CPUs while processing sysrq-t

From: Peter Zijlstra
Date: Tue Jan 07 2020 - 04:32:45 EST


On Thu, Jan 02, 2020 at 02:45:14PM -0500, Steven Rostedt wrote:
> On Thu, 26 Dec 2019 16:52:24 +0800
> Wei Li <liwei391@xxxxxxxxxx> wrote:
>
> > Lengthy output of sysrq-t may take a lot of time on slow serial console
> > with lots of processes and CPUs.
> >
> > So we need to reset NMI-watchdog to avoid spurious lockup messages, and
> > we also reset softlockup watchdogs on all other CPUs since another CPU
> > might be blocked waiting for us to process an IPI or stop_machine.
>
> Have you had this triggered?
>
> >
> > Add to sysrq_sched_debug_show() as what we did in show_state_filter().
> >
> > Signed-off-by: Wei Li <liwei391@xxxxxxxxxx>
> > ---
> > kernel/sched/debug.c | 11 +++++++++--
> > 1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
> > index f7e4579e746c..879d3ccf3806 100644
> > --- a/kernel/sched/debug.c
> > +++ b/kernel/sched/debug.c
> > @@ -751,9 +751,16 @@ void sysrq_sched_debug_show(void)
> > int cpu;
> >
> > sched_debug_header(NULL);
> > - for_each_online_cpu(cpu)
> > + for_each_online_cpu(cpu) {
> > + /*
> > + * Need to reset softlockup watchdogs on all CPUs, because
> > + * another CPU might be blocked waiting for us to process
> > + * an IPI or stop_machine.
> > + */
> > + touch_nmi_watchdog();
> > + touch_all_softlockup_watchdogs();
>
> This doesn't seem to hurt to add, thus.
>
> Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

Thanks!