Re: The HPET issue on Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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().

The testing of timer_irq_works() is let 10 ticks pass(using mdelay()), and
want to confirm the clock source with at least 5 ticks advanced in jiffies.
I've checked that, on my machine, it would mostly get only 4 ticks when HPET
enabled, then fail the test. On the other hand, if I using PIT, it would get
more than 10 ticks(maybe understandable if some complementary ticks there). Of
course, extend the ticks count/mdelay() time can work.

I think it's a major issue of HPET. And it maybe just due to a too long
userspace path for interrupt injection... If it's true, I think it's not easy
to deal with it.

PIT tick are reinjected automatically, HPET should probably do the same
although it may just create another set of problems.

Older Linux do automatic adjustment for lost ticks so automatic reinjection causes time to run too fast. This is why we added the -no-kvm-pit-reinject flag...

It took lots of time to pit/rtc to stabilize, in order of seriously consider the hpet emulation, lots of testing should be done.


--
			Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux