On Fri, May 09, 2008 at 03:49:20PM +0800, Yang, Sheng wrote: > On Sunday 13 April 2008 17:28:22 Avi Kivity wrote: > > Marcelo Tosatti wrote: > > > On Fri, Apr 11, 2008 at 03:12:41PM +0300, Avi Kivity wrote: > > >> This breaks ia64 (and shouldn't s390 use this too?) > > >> > > >>> * We will block until either an interrupt or a signal wakes us > > >>> up > > >>> */ > > >>> while (!kvm_cpu_has_interrupt(vcpu) > > >>> + && !kvm_cpu_has_pending_timer(vcpu) > > >> > > >> I guess the fix is to stub this out for the other archs. > > > > > > Agreed. How's this. > > > > Better :); applied. > > Hi, Marcelo > > This patch got into trouble when OS don't use PIT/LAPIC timer and don't > disable them. Then the pending counters would keep increasing, but the HLT > emulation can't be executed. And this would resulted in mass a lot (above > 220,000 per second) halt_exit for the Windows XP that using RTC as the > clocksource (and keep PIT enabled after bios did, just mask the pin) idle, > and the cpu utilize would be about 100% of QEmu process. > > The following patch used another way to fix the issue, though not very formal.
Hi Sheng, Did you have kvm.git commit 8ae6dc90ac84d9734e343210c8ec709f50cd9d89 when testing this? I believe it should fix that issue, because "ps->inject_pending" won't be set by kvm_pit_timer_intr_post() if the IRQ is masked. Please correct me if I'm wrong. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel