On Sat, Apr 17, 2021 at 04:51:36PM -0700, Paul E. McKenney wrote:
> On Sat, Apr 17, 2021 at 02:47:18PM +0200, Thomas Gleixner wrote:

[ . . . ]

> > > +         delta = (s64)((csnow_mid - csnow_begin) & cs->mask);
> > > +         if (delta < 0)
> > > +                 cpumask_set_cpu(cpu, &cpus_behind);
> > > +         delta = (csnow_end - csnow_mid) & cs->mask;
> > > +         if (delta < 0)
> > > +                 cpumask_set_cpu(cpu, &cpus_ahead);
> > > +         delta = clocksource_delta(csnow_end, csnow_begin, cs->mask);
> > > +         cs_nsec = clocksource_cyc2ns(delta, cs->mult, cs->shift);
> > 
> > > +         if (firsttime || cs_nsec > cs_nsec_max)
> > > +                 cs_nsec_max = cs_nsec;
> > > +         if (firsttime || cs_nsec < cs_nsec_min)
> > > +                 cs_nsec_min = cs_nsec;
> > > +         firsttime = 0;
> > 
> >   int64_t cs_nsec_max = 0, cs_nsec_min = LLONG_MAX;
> > 
> > and then the firsttime muck is not needed at all.
> 
> Good point, will fix!
> 
> And again, thank you for looking all of this over.

And overnight testing with a 50-microsecond WATCHDOG_MAX_SKEW was
uneventful.  However, I managed to miss printing when a retry was
necessary, so all that says is that no more than three retries were
ever required.  So I added test code to print a message whenever two
or more retries are required and restarted the tests.  Shorter run,
but more systems, so hopefully similar coverage.

If that works OK, I will resend the series this evening, Pacific Time.

                                                        Thanx, Paul

Reply via email to