lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210418162050.GA2206685@paulmck-ThinkPad-P17-Gen-1>
Date:   Sun, 18 Apr 2021 09:20:50 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Thomas Gleixner <tglx@...utronix.de>
Cc:     linux-kernel@...r.kernel.org, john.stultz@...aro.org,
        sboyd@...nel.org, corbet@....net, Mark.Rutland@....com,
        maz@...nel.org, kernel-team@...com, neeraju@...eaurora.org,
        ak@...ux.intel.com, Chris Mason <clm@...com>
Subject: Re: [PATCH v8 clocksource 3/5] clocksource: Check per-CPU clock
 synchronization when marked unstable

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ