[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210512131815.GA37641@shbuild999.sh.intel.com>
Date:   Wed, 12 May 2021 21:18:15 +0800
From:   Feng Tang <feng.tang@...el.com>
To:     "Paul E. McKenney" <paulmck@...nel.org>
Cc:     tglx@...utronix.de, 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,
        zhengjun.xing@...el.com,
        Xing Zhengjun <zhengjun.xing@...ux.intel.com>
Subject: Re: [PATCH v14 clocksource 4/6] clocksource: Reduce clocksource-skew
 threshold for TSC
Hi Paul,
On Tue, May 11, 2021 at 08:51:56PM -0700, Paul E. McKenney wrote:
> On Wed, May 12, 2021 at 10:18:49AM +0800, Feng Tang wrote:
> > Hi Paul,
> > 
> > On Tue, May 11, 2021 at 04:34:53PM -0700, Paul E. McKenney wrote:
[SNIP]
> > >  	 * Ensure clocksources that have large 'mult' values don't overflow
> > >  	 * when adjusted.
> > > diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
> > > index a492e4da69ba..b3f608c2b936 100644
> > > --- a/kernel/time/jiffies.c
> > > +++ b/kernel/time/jiffies.c
> > > @@ -49,13 +49,14 @@ static u64 jiffies_read(struct clocksource *cs)
> > >   * for "tick-less" systems.
> > >   */
> > >  static struct clocksource clocksource_jiffies = {
> > > -	.name		= "jiffies",
> > > -	.rating		= 1, /* lowest valid rating*/
> > > -	.read		= jiffies_read,
> > > -	.mask		= CLOCKSOURCE_MASK(32),
> > > -	.mult		= TICK_NSEC << JIFFIES_SHIFT, /* details above */
> > > -	.shift		= JIFFIES_SHIFT,
> > > -	.max_cycles	= 10,
> > > +	.name			= "jiffies",
> > > +	.rating			= 1, /* lowest valid rating*/
> > > +	.uncertainty_margin	= TICK_NSEC,
> > 
> > 'jiffies' is known to be very bad as a watchdog ("worse bandaid" in
> > Thomas' words :)), and TICK_NSEC just turns to 1ms for HZ=1000 case. 
> > Maybe we should give it a bigger margin, like the 32ms margin for 
> > 'tsc-early'?
> > 
> > Other than this, it looks good to me, thanks!
> 
> As in the fixup diff below?
Yep, thanks,
> 
> Would you be willing to provide an ack or tested-by for the rest
> of the series?  (I have your ack on 1/6.)
I haven't figured out a way to check 5/6 patch yet, but feel free
to add my ack for the first 4 patches (1/6 ~ 4/6) 
	Acked-by: Feng Tang <feng.tang@...el.com>
Thanks,
Feng
> 
> 						Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
> diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
> index b3f608c2b936..01935aafdb46 100644
> --- a/kernel/time/jiffies.c
> +++ b/kernel/time/jiffies.c
> @@ -51,7 +51,7 @@ static u64 jiffies_read(struct clocksource *cs)
>  static struct clocksource clocksource_jiffies = {
>  	.name			= "jiffies",
>  	.rating			= 1, /* lowest valid rating*/
> -	.uncertainty_margin	= TICK_NSEC,
> +	.uncertainty_margin	= 32 * NSEC_PER_MSEC,
>  	.read			= jiffies_read,
>  	.mask			= CLOCKSOURCE_MASK(32),
>  	.mult			= TICK_NSEC << JIFFIES_SHIFT, /* details above */
Powered by blists - more mailing lists