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: Tue, 26 Feb 2013 10:12:53 +0200 [thread overview]
Message-ID: <20130226081253.GG14354@redhat.com> (raw)
In-Reply-To: <20130225190102.GL21422@redhat.com>
On Mon, Feb 25, 2013 at 09:01:02PM +0200, Gleb Natapov wrote:
> On Mon, Feb 25, 2013 at 08:56:07PM +0200, Avi Kivity wrote:
> > On Mon, Feb 25, 2013 at 7:43 PM, Gleb Natapov <gleb@redhat.com> wrote:
> > >
> > >> > 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?
> >
> >
> > No, this idea doesn't involve user interface changes. We still report
> > through KVM_IRQ_LINE_STATUS or whatever it's called.
> Interesting idea!
>
But do not see how to implement efficiently without interface change. The
idea is basically to register ACK notifier for RTC interrupt but terminate
it in the kernel instead of reporting to userspace. Kernel should know
somehow what GSI should it register ACK notifier for. There are couple
of solutions:
1. New interface to tell what GSI to track.
- Cons: KVM_IRQ_LINE_STATUS will stop working for old QEMUs that do
not use it. New special purpose API.
2. Register ACK notifier only for RTC.
- Cons: KVM_IRQ_LINE_STATUS will work only for RTC. This is the only
thing that use it currently, but such change will make it one
trick pony officially.
3. Register ACK notifiers for all edge interrupts in IOAPIC.
- Cons: with APICv edge interrupt does not require EOI to do vmexit.
Registering ACK notifiers for all of them will make them all
do vmexit.
4. Combinations of 1 and 3. Register ACK notifiers for all edge interrupts
in IOAPIC and provide API to drop unneeded notifiers.
- Cons: New special purpose API.
Thoughts?
--
Gleb.
next prev parent reply other threads:[~2013-02-26 8:13 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
2013-02-25 18:56 ` Avi Kivity
2013-02-25 19:01 ` Gleb Natapov
2013-02-26 8:12 ` Gleb Natapov [this message]
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=20130226081253.GG14354@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox