lkml.org 
[lkml]   [2015]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [tip:timers/core] time: Refactor msecs_to_jiffies
From
Date
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.




\
 
 \ /
  Last update: 2015-05-19 16:21    [W:0.059 / U:1.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site