Re: [PATCH V2] kernel/watchdog: fix spurious hard lockups

From: Don Zickus
Date: Tue Jun 27 2017 - 17:09:41 EST


On Tue, Jun 27, 2017 at 08:49:19PM +0000, Liang, Kan wrote:
>
> > On Mon, Jun 26, 2017 at 04:19:27PM -0400, Don Zickus wrote:
> > > On Fri, Jun 23, 2017 at 11:50:25PM +0200, Thomas Gleixner wrote:
> > > > On Fri, 23 Jun 2017, Don Zickus wrote:
> > > > > Hmm, all this work for a temp fix. Kan, how much longer until the
> > > > > real fix of having perf count the right cycles?
> > > >
> > > > Quite a while. The approach is wilfully breaking the user space ABI,
> > > > which is not going to happen.
> > > >
> > > > And there is a simpler solution as well, as I said here:
> > > >
> > > >
> > > > http://lkml.kernel.org/r/alpine.DEB.2.20.1706221730520.1885@nanos
> > >
> > > Hi Thomas,
> > >
> > > So, you are saying instead of slowing down the perf counter, speed up
> > > the hrtimer to sample more frequently like so:
> > >
> > > diff --git a/kernel/watchdog.c b/kernel/watchdog.c index
> > > 03e0b69..8ff49de 100644
> > > --- a/kernel/watchdog.c
> > > +++ b/kernel/watchdog.c
> > > @@ -160,7 +160,7 @@ static void set_sample_period(void)
> > > * and hard thresholds) to increment before the
> > > * hardlockup detector generates a warning
> > > */
> > > - sample_period = get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5);
> > > + sample_period = get_softlockup_thresh() * ((u64)NSEC_PER_SEC /
> > 10);
> > > }
> >
> > Hi Kan,
> >
> > Will the above patch work for you?
> >
>
> I haven't heard back any test result yet.
>
> The above patch looks good to me.
> But I'm not sure if /10 is enough. We may need /15.
> Anyway, I think we will test /10 first.
>
> Which workaround do you prefer, the above one or the one checking timestamp?

Let's go with this one, it is simpler.

Cheers,
Don