lkml.org 
[lkml]   [2015]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3] alarmtimer: fix unexpected rtc interrupt when system resume from S3
From
On Wed, Nov 25, 2015 at 6:25 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Fri, 20 Nov 2015, John Stultz wrote:
>
>> On Tue, Nov 17, 2015 at 4:08 AM, <zhuo-hao.lee@intel.com> wrote:
>> > From: zhuo-hao <zhuo-hao.lee@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?
>
> We probably can fix it with some surgery. OTOH that stuff is fragile
> as hell and I rather avoid touching it, but I won't hinder someone
> brave enough doing it :)
>
>> I just want to make sure we're not hiding a deeper issue.
>
> It's not a deeper issue. It's a - admittedly dumb - implementation
> detail.

Fair enough.. I've got it queued up for testing.

thanks
-john


\
 
 \ /
  Last update: 2015-11-25 23:01    [W:0.061 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site