From: Jon Hunter Date: Fri, 1 May 2009 20:10:23 +0000 (-0700) Subject: timers: allow deferrable timers for intervals tv2-tv5 to be deferred X-Git-Tag: v2.6.31-rc1~326^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a04198887658e1d8ae25f5420035c057cb170e67;p=karo-tx-linux.git timers: allow deferrable timers for intervals tv2-tv5 to be deferred In the current kernel implementation only kernel timers for time interval tv1 are being deferred. This patch allows any timer that is configured as deferrable to be defer regardless of time interval. This patch was previously discussed in http://marc.info/?l=linux-kernel&m=123196343531966&w=2 and was acked by Venki Pallipadi, the author of the original deferrable timer patch. Signed-off-by: Jon Hunter Acked-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner --- diff --git a/kernel/timer.c b/kernel/timer.c index cffffad01c31..5c1e84beaf4a 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1015,6 +1015,9 @@ cascade: index = slot = timer_jiffies & TVN_MASK; do { list_for_each_entry(nte, varp->vec + slot, entry) { + if (tbase_get_deferrable(nte->base)) + continue; + found = 1; if (time_before(nte->expires, expires)) expires = nte->expires;