From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754683AbbKYO0m (ORCPT ); Wed, 25 Nov 2015 09:26:42 -0500 Received: from www.linutronix.de ([62.245.132.108]:59097 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751910AbbKYO0l (ORCPT ); Wed, 25 Nov 2015 09:26:41 -0500 Date: Wed, 25 Nov 2015 15:25:56 +0100 (CET) From: Thomas Gleixner To: John Stultz cc: zhuo-hao.lee@intel.com, lkml , zhuohao.lee82@gmail.com Subject: Re: [PATCH v3] alarmtimer: fix unexpected rtc interrupt when system resume from S3 In-Reply-To: Message-ID: References: <1447762087-5417-1-git-send-email-zhuo-hao.lee@intel.com> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 20 Nov 2015, John Stultz wrote: > On Tue, Nov 17, 2015 at 4:08 AM, wrote: > > From: zhuo-hao > > > > 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. Thanks, tglx