[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANcMJZCA1XgbMRnGe5psZrvRT14uo_D3JZ5i+2R54inBLT7=UQ@mail.gmail.com>
Date: Fri, 13 Nov 2015 12:32:58 -0800
From: John Stultz <john.stultz@...aro.org>
To: zhuo-hao.lee@...el.com
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>, zhuohao.lee82@...il.com
Subject: Re: [PATCH v2] alarmtimer: fix unexpected rtc interrupt when system
resume from S3
On Wed, Nov 4, 2015 at 9:50 PM, <zhuo-hao.lee@...el.com> wrote:
> From: zhuo-hao <zhuo-hao.lee@...el.com>
>
If you could, please CC me on future submissions? I need to add an
entry to MAINTAINERS for alarmtimers. :)
> 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.
So conceptually the patch makes sense, though I'm not totally sure I
understand the failure you describe.
We have some alarmtimer set for 2 hours from now.
We suspend, and the alarmtimer code sets an rtctimer to wake us up in
2 hours week.
We resume a few minutes later due to user interaction or other
wakeups, but the rtctimer is still set.
A little less then two hours later (while the system has been awake
the whole time), the RTC hardware fires and we run the rtctimer.
???? Something problematic here w/ the hpet_rtc_interrupt?
The alarmtimer's hrtimer fires as normal.
Again, your fix seems reasonable, but I also feel like when the RTC
hardware spuriously fires and we trigger the rtctimer logic, there
shouldn't be any real problems there. So I want to make sure we're not
covering up some underlying issue w/ this fix.
thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists