From: Gleb Natapov <gleb@redhat.com>
To: Avi Kivity <avi.kivity@gmail.com>
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"Zhang, Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [PATCH v4 2/2] KVM: VMX: Add Posted Interrupt supporting
Date: Mon, 25 Feb 2013 19:43:27 +0200 [thread overview]
Message-ID: <20130225174327.GJ21422@redhat.com> (raw)
In-Reply-To: <CAEbWaip14XFVYRzjTbJUS0smO2Q_-Xfi6ngWxBO45KPeZuZsXg@mail.gmail.com>
On Mon, Feb 25, 2013 at 06:50:40PM +0200, Avi Kivity wrote:
> >>
> > I see a couple of possible solutions:
> > 1. Do what Avi said. Make KVM_IRQ_LINE_STATUS be synchronous. Cons:
> > current QEMU uses KVM_IRQ_LINE_STATUS always and it means that it
> > will be slow on newer kernels
>
> You could backport the qemu change, verify that it builds, and push it
> to stable branches. It's hardly ideal but if nothing else comes up
> then it's a solution.
>
>
> > 2. Make KVM_IRQ_LINE_STATUS report coalescing only when vcpu is not
> > running during injection. This assumes that if vcpu is running and does
> > not process interrupt it is guest fault and the same can happen on real
> > HW too. Coalescing when vcpu is not running though is the result of CPU
> > overcommit and should be reported. Cons interface definition is kind of
> > murky.
>
> You still have a window where the vcpu is scheduled out with guest
> interrupts disabled, then scheduled back in and before it manages to
> handle the interrupt, the second one hits.
>
Yes, definitely not ideal solution.
> It's worth testing though.
>
Yes again. Windows almost never disables interrupts and RTC interrupt is
of highest priority.
> > 3. Do not report KVM_IRQ_LINE_STATUS capability and move RTC to use EOI
> > notifiers for interrupt reinjection. This requires us to add interface
> > for reporting EOI to userspace. This is not in the scope of this
> > patchset. Cons: need to introduce new interface (and the one that will
> > not work on AMD BTW)
> >
> > Other ideas?
>
> 1. inject RTC interrupt
> 2. not see EOI
> 3. inject RTC interrupt
> 4. due to 2, report coalesced
>
That's the 3 in my list, no?
> AMD can still use IRR test-and-set.
--
Gleb.
next prev parent reply other threads:[~2013-02-25 17:43 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-22 13:42 [PATCH v4 0/2] KVM: VMX: Add Posted Interrupt supporting Yang Zhang
2013-02-22 13:42 ` [PATCH v4 1/2] KVM: VMX: enable acknowledge interupt on vmexit Yang Zhang
2013-02-22 13:42 ` [PATCH v4 2/2] KVM: VMX: Add Posted Interrupt supporting Yang Zhang
2013-02-23 13:43 ` Marcelo Tosatti
2013-02-23 14:05 ` Zhang, Yang Z
2013-02-23 14:35 ` Gleb Natapov
2013-02-23 14:48 ` Marcelo Tosatti
2013-02-23 15:31 ` Gleb Natapov
2013-02-23 17:05 ` Marcelo Tosatti
2013-02-23 19:42 ` Gleb Natapov
2013-02-23 19:52 ` Marcelo Tosatti
2013-02-23 19:59 ` Gleb Natapov
2013-02-24 13:55 ` Zhang, Yang Z
2013-02-24 14:19 ` Gleb Natapov
2013-02-24 14:26 ` Zhang, Yang Z
2013-02-24 14:39 ` Gleb Natapov
2013-02-24 18:08 ` Marcelo Tosatti
2013-02-24 18:59 ` Avi Kivity
2013-02-25 8:42 ` Zhang, Yang Z
2013-02-25 11:01 ` Gleb Natapov
2013-02-25 11:04 ` Zhang, Yang Z
2013-02-25 11:07 ` Gleb Natapov
2013-02-25 11:13 ` Zhang, Yang Z
2013-02-25 12:49 ` Marcelo Tosatti
2013-02-25 12:52 ` Zhang, Yang Z
2013-02-25 13:34 ` Gleb Natapov
2013-02-25 14:00 ` Marcelo Tosatti
2013-02-25 14:17 ` Marcelo Tosatti
2013-02-25 17:40 ` Gleb Natapov
2013-02-25 22:29 ` Marcelo Tosatti
2013-02-25 16:50 ` Avi Kivity
2013-02-25 17:43 ` Gleb Natapov [this message]
2013-02-25 18:56 ` Avi Kivity
2013-02-25 19:01 ` Gleb Natapov
2013-02-26 8:12 ` Gleb Natapov
2013-02-26 16:13 ` Avi Kivity
2013-02-24 17:44 ` Marcelo Tosatti
2013-02-25 7:24 ` Zhang, Yang Z
2013-02-23 14:44 ` Marcelo Tosatti
2013-02-23 15:16 ` Zhang, Yang Z
2013-02-23 16:50 ` Marcelo Tosatti
2013-02-24 13:17 ` Zhang, Yang Z
2013-02-24 17:39 ` Marcelo Tosatti
2013-02-25 6:55 ` Zhang, Yang Z
2013-02-25 13:01 ` Marcelo Tosatti
2013-02-25 14:32 ` Zhang, Yang Z
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=20130225174327.GJ21422@redhat.com \
--to=gleb@redhat.com \
--cc=avi.kivity@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=xiantao.zhang@intel.com \
--cc=yang.z.zhang@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.