On Tue, Nov 17, 2015 at 4:08 AM, <zhuo-hao....@intel.com> wrote: > From: zhuo-hao <zhuo-hao....@intel.com> > > Before the system go to suspend (S3), if user create a timer with clockid > CLOCK_REALTIME_ALARM/CLOCK_BOOTTIME_ALARM and set a "large" timeout value > to this timer. The function alarmtimer_suspend will be called to setup > a timeout value to RTC timer to avoid the system sleep over time. However, > if the system wakeup early than RTC timeout, the RTC timer will not be > cleared. > And this will cause the hpet_rtc_interrupt come unexpectedly until the RTC > timeout. To fix this problem, just adding alarmtimer_resume to cancel the > RTC timer. > > This was noticed because the HPET RTC emulation fires an interrupt every > 16ms(=1/2^DEFAULT_RTC_SHIFT) up to the point where the alarm time is reached. > This program always hits this situation(https://lkml.org/lkml/2015/11/8/326), > if system wake up earlier than alarm time.
So thanks for the extra context here, and again I don't have an objection to this patch. Although from the earlier discussion it still isn't quite clear to me: Why must the HPET RTC emulation need to fire the alarm every 16ms? Is that not something that can be fixed? I just want to make sure we're not hiding a deeper issue. thanks -john -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/