From: Tim Deegan <tim@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: Malcolm Crossley <malcolm.crossley@citrix.com>,
"eddie.dong@intel.com" <eddie.dong@intel.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
"jun.nakajima@intel.com" <jun.nakajima@intel.com>,
xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH] [RFC PATCH] xen: vmx: Use an INT 2 call to process real NMI's instead of self_nmi() in VMEXIT handler
Date: Tue, 13 Nov 2012 15:21:34 +0000 [thread overview]
Message-ID: <20121113152134.GH44675@ocelot.phlegethon.org> (raw)
In-Reply-To: <50A26D9C02000078000A8322@nat28.tlf.novell.com>
At 14:56 +0000 on 13 Nov (1352818572), Jan Beulich wrote:
> >>> On 13.11.12 at 15:43, Tim Deegan <tim@xen.org> wrote:
> > The fact that there was a loop and not just a delay in the NMI handling
> > suggests that VMENTER does indeed re-enable NMIs (or at least
> > NMI-exiting) but I couldn't find that in the manual. In any case, I
> > think the int $2 version is correcter than the direct call as it also
> > disables normal interrupts.
>
> You're not commenting on the stack aspect and previous approach
> at all: Assuming your self_nmi() approach at least worked
> somewhere, that somewhere would be the place where the "int $2"
> approach would break. In other words - are you confident that
> NMI is _always_ masked when we get there (and hence your
> earlier approach _never_ worked)?
ISWYM. No, having thought about it a bit more, I'm not confident of
that at all -- at this point in the exit handlers, interrupts are
enabled, so we may already have had an IRET. So we'd be risking taking
one NMI while handling another (whether we do int $2 or a direct call;
it's bad in either case). :(
I think that the NMI case needs to move to the top of the vmexit
handler, beside the machine_check cases. Once it's there, either the
direct call (+ artifical iret to clear the masking) or int $2 should be
fine.
Tim.
next prev parent reply other threads:[~2012-11-13 15:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-13 11:23 [PATCH] [RFC PATCH] xen: vmx: Use an INT 2 call to process real NMI's instead of self_nmi() in VMEXIT handler Malcolm Crossley
2012-11-13 11:38 ` Jan Beulich
2012-11-13 11:47 ` Tim Deegan
2012-11-13 12:05 ` Tim Deegan
2012-11-13 12:16 ` Andrew Cooper
2012-11-13 12:17 ` Ian Campbell
2012-11-13 12:39 ` Tim Deegan
2012-11-13 14:21 ` Jan Beulich
2012-11-13 14:43 ` Tim Deegan
2012-11-13 14:56 ` Jan Beulich
2012-11-13 15:21 ` Tim Deegan [this message]
2012-11-13 15:32 ` Jan Beulich
2012-11-13 15:14 ` Andrew Cooper
2012-11-13 14:47 ` Jan Beulich
2012-11-13 11:48 ` Andrew Cooper
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=20121113152134.GH44675@ocelot.phlegethon.org \
--to=tim@xen.org \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=eddie.dong@intel.com \
--cc=jun.nakajima@intel.com \
--cc=malcolm.crossley@citrix.com \
--cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).