Messages in this thread | | | Date | Tue, 29 May 2007 16:02:33 -0700 (PDT) | Subject | Re: [PATCH] NOHZ: prevent multiplication overflow - stop timer for huge timeouts | From | David Miller <> |
| |
From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 29 May 2007 23:47:39 +0200
> get_next_timer_interrupt() returns a delta of (LONG_MAX > 1) in case > there is no timer pending. On 64 bit machines this results in a > multiplication overflow in tick_nohz_stop_sched_tick(). > > Reported by: Dave Miller <davem@davemloft.net> > > Make the return value a constant and limit the return value to a 32 bit > value. > > When the max timeout value is returned, we can safely stop the tick > timer device. The max jiffies delta results in a 12 days timeout for > HZ=1000. > > In the long term the get_next_timer_interrupt() code needs to be > reworked to return ktime instead of jiffies, but we have to wait until > the last users of the original NO_IDLE_HZ code are converted. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-off-by: David S. Miller <davem@davemloft.net> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |