Jan Beulich
2007-Mar-09 16:54 UTC
[Xen-devel] [PATCH] linux: fix condition for entering tickless state
I noticed that timer interrupts were running at full rate regardless of whether the system was idle. softlockup_get_next_event() must return the maximum of zero and the delta to the next event, not the minimum (which is always zero or negative, yielding zero or a very large positive number as return value). Signed-off-by: Jan Beulich <jbeulich@novell.com> Index: ./patches/linux-2.6.18/softlockup-no-idle-hz.patch ==================================================================--- ./patches/linux-2.6.18/softlockup-no-idle-hz.patch +++ ./patches/linux-2.6.18/softlockup-no-idle-hz.patch @@ -34,7 +34,7 @@ unsigned long softlockup_get_next_event( + !per_cpu(watchdog_task, this_cpu)) + return MAX_JIFFY_OFFSET; + -+ return min_t(long, 0, touch_timestamp + HZ - jiffies); ++ return max_t(long, 0, touch_timestamp + HZ - jiffies); +} + /* _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2007-Mar-09 17:42 UTC
Re: [Xen-devel] [PATCH] linux: fix condition for entering tickless state
On 9/3/07 16:54, "Jan Beulich" <jbeulich@novell.com> wrote:> I noticed that timer interrupts were running at full rate regardless > of whether the system was idle. > softlockup_get_next_event() must return the maximum of zero and the > delta to the next event, not the minimum (which is always zero or > negative, yielding zero or a very large positive number as return > value).Oops. :-) K. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel