Re: [RFC][PATCH] clocksource: avoid unnecessary overflow in cyclecounter_cyc2ns()

From: Mike Galbraith
Date: Tue Mar 04 2014 - 02:51:58 EST


(boing boing boing... hell with it, today doesn't exist;)

On Tue, 2014-03-04 at 08:31 +0100, Mike Galbraith wrote:
> On Tue, 2014-03-04 at 08:20 +0100, Henrik Austad wrote:
> > On Tue, Mar 04, 2014 at 06:20:09AM +0100, Mike Galbraith wrote:
> > > Greetings,
> > >
> > > While rummaging around looking for HTH a gaggle of weird a$$ machines
> > > can manage to timewarp back and forth by exactly 208 days, I stumbled
> > > across $subject which looks like it may want to borrow Salman's fix.
> > >
> > > clocksource: avoid unnecessary overflow in cyclecounter_cyc2ns()
> > >
> > > As per 4cecf6d401a "sched, x86: Avoid unnecessary overflow in sched_clock",
> > > cycles * mult >> shift is overflow prone. so give it the same treatment.
> > >
> > > Cc: Salman Qazi <sqazi@xxxxxxxxxx>
> > > Cc: John Stultz <johnstul@xxxxxxxxxx>
> > > Signed-off-by: Mike Galbraith <bitbucket@xxxxxxxxx>
> > > ---
> > > include/linux/clocksource.h | 11 ++++++++---
> > > 1 file changed, 8 insertions(+), 3 deletions(-)
> > >
> > > --- a/include/linux/clocksource.h
> > > +++ b/include/linux/clocksource.h
> > > @@ -77,13 +77,18 @@ struct timecounter {
> > > *
> > > * XXX - This could use some mult_lxl_ll() asm optimization. Same code
> > > * as in cyc2ns, but with unsigned result.
> > > + *
> > > + * Because it is the same as x86 __cycles_2_ns, give it the same treatment as
> > > + * commit 4cecf6d401a "sched, x86: Avoid unnecessary overflow in sched_clock"
> > > + * to avoid a potential cycles * mult overflow.
> >
> > Do we normally reference a particular commit in a comment? Why not just
> > grab the same comment and add a "this is grabbed from arch/x86/... ?
>
> Fewer '+' signs? History doesn't go away, so seems fine to me.
>
> -Mike
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/