Merge "kernel: time: Restore original wheel index calculation"

This commit is contained in:
qctecmdr 2020-09-19 23:25:48 -07:00 • committed by Gerrit - the friendly Code Review server
commit f81e2b21f7

View file

@ -491,6 +491,13 @@ static inline void timer_set_idx(struct timer_list *timer, unsigned int idx)
* Helper function to calculate the array index for a given expiry
* time.
*/
#ifndef CONFIG_SCHED_WALT
static inline unsigned calc_index(unsigned expires, unsigned lvl)
{
expires = (expires + LVL_GRAN(lvl)) >> LVL_SHIFT(lvl);
return LVL_OFFS(lvl) + (expires & LVL_MASK);
}
#else
static inline unsigned calc_index(unsigned expires, unsigned lvl)
{
if (lvl != 0 && (expires & ~(UINT_MAX << LVL_SHIFT(lvl))))
@ -500,6 +507,7 @@ static inline unsigned calc_index(unsigned expires, unsigned lvl)
return LVL_OFFS(lvl) + (expires & LVL_MASK);
}
#endif
static int calc_wheel_index(unsigned long expires, unsigned long clk)
{