The HPET issue on Linux

2010-01-06 Thread Sheng Yang
Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET enabled, the kernel would fail check_timer(), especially in timer_irq_works(). The testing of timer_irq_works() is let 10 ticks pass(using mdelay()), and want to confirm the clock

Re: The HPET issue on Linux

2010-01-06 Thread Gleb Natapov
On Wed, Jan 06, 2010 at 05:48:52PM +0800, Sheng Yang wrote: Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET enabled, the kernel would fail check_timer(), especially in timer_irq_works(). The testing of timer_irq_works()

Re: The HPET issue on Linux

2010-01-06 Thread Dor Laor
On 01/06/2010 12:09 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 05:48:52PM +0800, Sheng Yang wrote: Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET enabled, the kernel would fail check_timer(), especially in timer_irq_works().

Re: The HPET issue on Linux

2010-01-06 Thread Beth Kon
Dor Laor wrote: On 01/06/2010 12:09 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 05:48:52PM +0800, Sheng Yang wrote: Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET enabled, the kernel would fail check_timer(), especially in

Re: The HPET issue on Linux

2010-01-06 Thread Beth Kon
Beth Kon wrote: Dor Laor wrote: On 01/06/2010 12:09 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 05:48:52PM +0800, Sheng Yang wrote: Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET enabled, the kernel would fail

Re: The HPET issue on Linux

2010-01-06 Thread Anthony Liguori
On 01/06/2010 01:20 PM, Beth Kon wrote: Beth Kon wrote: I will try to look into this. Since HPET is edge-triggered, looks like this problem is of a different nature than PIT. Is this a solid failure or intermittent? Anthony just explained that on x86, even edge-triggered interrupts are

Re: The HPET issue on Linux

2010-01-06 Thread Gleb Natapov
On Wed, Jan 06, 2010 at 01:23:28PM -0600, Anthony Liguori wrote: On 01/06/2010 01:20 PM, Beth Kon wrote: Beth Kon wrote: I will try to look into this. Since HPET is edge-triggered, looks like this problem is of a different nature than PIT. Is this a solid failure or intermittent? Anthony

Re: The HPET issue on Linux

2010-01-06 Thread Anthony Liguori
On 01/06/2010 01:44 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 01:23:28PM -0600, Anthony Liguori wrote: On 01/06/2010 01:20 PM, Beth Kon wrote: Beth Kon wrote: I will try to look into this. Since HPET is edge-triggered, looks like this problem is of a different nature

Re: The HPET issue on Linux

2010-01-06 Thread Gleb Natapov
On Wed, Jan 06, 2010 at 01:51:54PM -0600, Anthony Liguori wrote: On 01/06/2010 01:44 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 01:23:28PM -0600, Anthony Liguori wrote: On 01/06/2010 01:20 PM, Beth Kon wrote: Beth Kon wrote: I will try to look into this. Since HPET is edge-triggered,

Re: The HPET issue on Linux

2010-01-06 Thread Anthony Liguori
On 01/06/2010 02:37 PM, Gleb Natapov wrote: We have exactly that hook in apic already and that's how RTC determines that interrupt was coalesced. AFAICT, apic_irq_delivered is only reset explicitly by the RTC when the line is lowered. It's not currently lowered based on EOI. How can

Re: The HPET issue on Linux

2010-01-06 Thread Sheng Yang
On Thursday 07 January 2010 02:36:26 Beth Kon wrote: Dor Laor wrote: On 01/06/2010 12:09 PM, Gleb Natapov wrote: On Wed, Jan 06, 2010 at 05:48:52PM +0800, Sheng Yang wrote: Hi Beth I still found the emulated HPET would result in some boot failure. For example, on my 2.6.30, with HPET

Re: The HPET issue on Linux

2010-01-06 Thread Gleb Natapov
On Wed, Jan 06, 2010 at 04:42:30PM -0600, Anthony Liguori wrote: On 01/06/2010 02:37 PM, Gleb Natapov wrote: We have exactly that hook in apic already and that's how RTC determines that interrupt was coalesced. AFAICT, apic_irq_delivered is only reset explicitly by the RTC when the line is