All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: "Yang, Sheng" <sheng.yang@intel.com>
Cc: kvm-devel@lists.sourceforge.net, Avi Kivity <avi@qumranet.com>
Subject: Re: [patch 1/2] KVM: hlt emulation should take in-kernel APIC/PIT timers into account
Date: Fri, 9 May 2008 11:53:00 -0300	[thread overview]
Message-ID: <20080509145300.GA11955@dmt> (raw)
In-Reply-To: <200805091549.20620.sheng.yang@intel.com>

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

  reply	other threads:[~2008-05-09 14:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-10 20:12 [patch 0/2] fix in-kernel timer / IRQ injection races Marcelo Tosatti
2008-04-10 20:12 ` [patch 1/2] KVM: hlt emulation should take in-kernel APIC/PIT timers into account Marcelo Tosatti
2008-04-11 12:12   ` Avi Kivity
2008-04-11 17:53     ` Marcelo Tosatti
2008-04-13  9:28       ` Avi Kivity
2008-05-09  7:49         ` Yang, Sheng
2008-05-09 14:53           ` Marcelo Tosatti [this message]
2008-05-10  2:12             ` Yang, Sheng
2008-05-12 16:40               ` Marcelo Tosatti
2008-05-14  3:03                 ` Yang, Sheng
2008-04-11 22:30     ` Carsten Otte
2008-04-13  9:47       ` Avi Kivity
2008-04-14  9:18         ` Carsten Otte
2008-04-10 20:12 ` [patch 2/2] KVM: fix kvm_vcpu_kick vs __vcpu_run race Marcelo Tosatti
2008-04-11 12:18   ` Avi Kivity
2008-04-11 18:01     ` Marcelo Tosatti
2008-04-13 10:08       ` Avi Kivity
2008-04-13 16:07         ` Avi Kivity
2008-04-13 16:35           ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080509145300.GA11955@dmt \
    --to=mtosatti@redhat.com \
    --cc=avi@qumranet.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=sheng.yang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.