public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Bug in hrtimer_get_next_event?
@ 2010-03-30 15:58 Gary King
  2010-03-31 10:43 ` Thomas Gleixner
  0 siblings, 1 reply; 3+ messages in thread
From: Gary King @ 2010-03-30 15:58 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org; +Cc: tglx@linutronix.de, Gary King

I am implementing idle state controls (CPU_IDLE) for Tegra SoCs, and one of the idle states is not awakened by the hrtimer interrupt. There is a system-wide high-resolution timer which can be used as a wakeup source, but I need the high-resolution sleep time to configure the alarm.

To fix this, I want to use hrtimer_get_next_event; however, the code that is in the tree only walks the hrtimer bases when hres mode is not active; when hres mode is active, hrtimer_get_next_event always returns KTIME_MAX. Is there any reason for the negative comparison, or is this a bug?

After changing this locally, I encountered one other problem on dynamic-tick systems: get_next_timer_interrupt is called to determine whether or not it is safe to enter nohz mode; however, hrtimer_get_next_event (which is used by get_next_timer_interrupt) will always return <=1 jiffy, since the emulated tick scheduler event will be armed when tick_nohz_stop_sched_tick queries the sleep time. As a result, tick_nohz_stop_sched_tick will never enter nohz mode.  I can think of a couple ways to address this (cancel the tick timer before querying the event and rearm if necessary from either the arch cpu_idle code or nohz_stop_sched_tick; ignore the tick timer in hrtimer_get_next_event); does anyone have a recommendation for a preferred approach?

- Gary
gking@nvidia.com
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-03-31 23:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-30 15:58 Bug in hrtimer_get_next_event? Gary King
2010-03-31 10:43 ` Thomas Gleixner
2010-03-31 23:39   ` Gary King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox