Re: [PATCH v10 clocksource 1/7] clocksource: Provide module parameters to inject delays in watchdog

From: Paul E. McKenney
Date: Mon Apr 26 2021 - 11:28:05 EST


On Sun, Apr 25, 2021 at 09:07:36PM -0700, Andi Kleen wrote:

[ . . . ]

> > + clocksource.inject_delay_period= [KNL]
> > + Number of calls to clocksource_watchdog() before
> > + delays are injected between reads from the
> > + two clocksources. Values of zero disable this
> > + delay injection. These delays can cause clocks
> > + to be marked unstable, so use of this parameter
> > + should therefore be avoided on production systems.
> > + Defaults to zero (disabled).
> > +
> > + clocksource.inject_delay_repeat= [KNL]
> > + Number of repeated clocksource_watchdog() delay
> > + injections per period. If inject_delay_period
> > + is five and inject_delay_repeat is three, there
> > + will be five delay-free reads followed by three
> > + delayed reads.
>
> I'm not sure command line options are the right way to do this.
> How about integrating it with the fault injection framework in debugfs.
>
> This way syzkaller etc. can play with it, which long term would
> give much better test coverage.
>
> This wouldn't allow boot time coverage, but presumably that's not
> too important here.

Boot-time coverage is important, as we saw in kbuild test robot testing
of v9 of this patchset, which triggered clocksource_tsc_early, but not
clocksource_tsc. Note that v10 avoids this triggering.

Thanx, Paul