From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
Wei Liu <wl@xen.org>, Jan Beulich <jbeulich@suse.com>,
"Nakajima, Jun" <jun.nakajima@intel.com>,
Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3/3] x86/nvmx: update exit bitmap on vmexit
Date: Tue, 24 Mar 2020 10:16:52 +0000 [thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D19D7E6084@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20200324095915.GG24458@Air-de-Roger.citrite.net>
> From: Roger Pau Monné <roger.pau@citrix.com>
> Sent: Tuesday, March 24, 2020 5:59 PM
>
> On Tue, Mar 24, 2020 at 06:22:43AM +0000, Tian, Kevin wrote:
> > > From: Roger Pau Monne <roger.pau@citrix.com>
> > > Sent: Saturday, March 21, 2020 3:08 AM
> > >
> > > Current code in nvmx_update_apicv set the guest interrupt status field
> > > but doesn't update the exit bitmap, which can cause issues of lost
> > > interrupts on the L1 hypervisor if vmx_intr_assist gets
> > > short-circuited by nvmx_intr_intercept returning true.
> >
> > Above is not accurate. Currently Xen didn't choose to update the EOI
> > exit bitmap every time when there is a change. Instead, it chose to
> > batch the update before resuming to the guest. sort of optimization.
> > So it is not related to whether SVI is changed. We should always do the
> > bitmap update in nvmx_update_apicv, regardless of the setting of
> > Ack-on-exit ...
>
> But if Ack on exit is not set the GUEST_INTR_STATUS won't be changed
> by nvmx_intr_intercept, and hence there's no need to update the EOI
> exit map?
>
> If OTOH the GUEST_INTR_STATUS field is changed by vmx_intr_assist the
> bitmap will already be updated there.
>
If you agree with my comment in patch 2/3 about setting RVI for
ack-on-exit=0, then EOI bitmap update should be done there too.
Thanks
Kevin
next prev parent reply other threads:[~2020-03-24 10:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-20 19:07 [Xen-devel] [PATCH 0/3] x86/nvmx: attempt to fix interrupt injection Roger Pau Monne
2020-03-20 19:07 ` [Xen-devel] [PATCH 1/3] Revert "x86/vvmx: fix virtual interrupt injection when Ack on exit control is used" Roger Pau Monne
2020-03-23 8:09 ` Jan Beulich
2020-03-23 14:48 ` Roger Pau Monné
2020-03-24 5:41 ` Tian, Kevin
2020-03-24 8:10 ` Jan Beulich
2020-03-24 8:49 ` Tian, Kevin
2020-03-24 10:47 ` Roger Pau Monné
2020-03-24 11:00 ` Tian, Kevin
2020-03-20 19:07 ` [Xen-devel] [PATCH 2/3] x86/nvmx: clarify and fix usage of nvmx_update_apicv Roger Pau Monne
2020-03-24 6:03 ` Tian, Kevin
2020-03-24 9:50 ` Roger Pau Monné
2020-03-24 10:11 ` Tian, Kevin
2020-03-24 11:22 ` Roger Pau Monné
2020-03-24 11:33 ` Tian, Kevin
2020-03-24 12:18 ` Roger Pau Monné
2020-03-26 5:49 ` Tian, Kevin
2020-03-20 19:07 ` [Xen-devel] [PATCH 3/3] x86/nvmx: update exit bitmap on vmexit Roger Pau Monne
2020-03-24 6:22 ` Tian, Kevin
2020-03-24 9:59 ` Roger Pau Monné
2020-03-24 10:16 ` Tian, Kevin [this message]
2020-03-24 11:24 ` Roger Pau Monné
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=AADFC41AFE54684AB9EE6CBC0274A5D19D7E6084@SHSMSX104.ccr.corp.intel.com \
--to=kevin.tian@intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=jun.nakajima@intel.com \
--cc=roger.pau@citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/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.