Bug 11413

Summary: get_rtc_time() triggers NMI watchdog in hpet_rtc_interrupt()
Product: Timers Reporter: Rafael J. Wysocki (rjw)
Component: Realtime ClockAssignee: timers_realtime-clock
Status: CLOSED CODE_FIX    
Severity: normal CC: mikpelinux, mingo
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27-rc4 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 11167    

Description Rafael J. Wysocki 2008-08-23 12:00:26 UTC
Subject    : [BUG] get_rtc_time() triggers NMI watchdog in hpet_rtc_interrupt()
Submitter  : Mikael Pettersson <mikpe@it.uu.se>
Date       : 2008-08-23 9:48
References : http://marc.info/?l=linux-kernel&m=121948503224161&w=4
Handled-By : Ingo Molnar <mingo@elte.hu>
Patch      : http://marc.info/?l=linux-kernel&m=121950734922457&w=4

This entry is being used for tracking a regression from 2.6.26.  Please don't
close it until the problem is fixed in the mainline.
Comment 1 David Brownell 2008-08-23 12:22:43 UTC
See also Bug #11153 and its patch ... the short version of the story is that the "HPET Emulation" of RTC interrupts really should not be used.  The real RTC interrupts are routed through SCI, which seems to give *TWO* ways to get them without emulation:  (a) through ACPI's somewhat flakey IRQ delegation scheme, although that bypasses genirq; and (b) by hanging the RTC irq handler off SCI, along with ACPI.  The virtue of (a) is that it needs to be done anyway to have RTC events wake from system sleep states like S3 and S4.