Re: [tip:timers/core] time: Refactor msecs_to_jiffies

Thomas Gleixner
2015-05-19T15:12:50Z

On Tue, 19 May 2015, Joe Perches wrote:
> On Tue, 2015-05-19 at 06:36 -0700, tip-bot for Nicholas Mc Guire wrote:
> > Refactor the msecs_to_jiffies conditional code part in time.c and
> > jiffies.h putting it into conditional functions rather than #ifdefs
> > to improve readability.
> []
> > diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
> []
> > +static inline unsigned long _msecs_to_jiffies(const unsigned int m)
> > +{
> > + return (m + (MSEC_PER_SEC / HZ) - 1) / (MSEC_PER_SEC / HZ);
> > +}
> > +#elif HZ > MSEC_PER_SEC && !(HZ % MSEC_PER_SEC)
> > +/*
> > + * HZ is larger than 1000, and HZ is a nice round multiple of 1000 -
> > + * simply multiply with the factor between them.
> > + *
> > + * But first make sure the multiplication result cannot overflow:
> > + */
> > +static inline unsigned long _msecs_to_jiffies(const unsigned int m)
> > +{
> > + if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET))
> > + return MAX_JIFFY_OFFSET;
> > + return m * (HZ / MSEC_PER_SEC);
> > +}
> > +#else
> > +/*
> > + * Generic case - multiply, round and divide. But first check that if
> > + * we are doing a net multiplication, that we wouldn't overflow:
> > + */
> > +static inline unsigned long _msecs_to_jiffies(const unsigned int m)
> > +{
> > + if (HZ > MSEC_PER_SEC && m > jiffies_to_msecs(MAX_JIFFY_OFFSET))
> > + return MAX_JIFFY_OFFSET;
> > +
> > + return (MSEC_TO_HZ_MUL32 * m + MSEC_TO_HZ_ADJ32)
> > + >> MSEC_TO_HZ_SHR32;
> > +}
> > +#endif
>
> It'd be nicer to remove 1 level of unnecessary tab indentation in
> all the _msecs_to_jiffies functions here.

Indeed. I wanted to fix that up before applying and then forgot
again....

Thanks,

tglx