From: George Dunlap <george.dunlap@eu.citrix.com>
To: Tim Deegan <tim@xen.org>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
Malcolm Crossley <malcolm.crossley@citrix.com>,
Jan Beulich <jbeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH V3] vmx/nmi: Do not use self_nmi() in VMEXIT handler
Date: Mon, 26 Nov 2012 11:50:58 +0000 [thread overview]
Message-ID: <50B357A2.2050205@eu.citrix.com> (raw)
In-Reply-To: <20121122173404.GC83155@ocelot.phlegethon.org>
On 22/11/12 17:34, Tim Deegan wrote:
> At 15:00 +0000 on 22 Nov (1353596446), Andrew Cooper wrote:
>> diff -r 2489c2926698 -r d7ea938044ac xen/arch/x86/hvm/vmx/vmx.c
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -2269,6 +2269,14 @@ void vmx_vmexit_handler(struct cpu_user_
>> vector = intr_info & INTR_INFO_VECTOR_MASK;
>> if ( vector == TRAP_machine_check )
>> do_machine_check(regs);
>> + else if ( vector == TRAP_nmi &&
>> + ( (intr_info & INTR_INFO_INTR_TYPE_MASK) ==
>> + (X86_EVENTTYPE_NMI << 8) ) )
>> + /* Must be called before interrupts are enabled to ensure
>> + * the NMI handler code is run before the first IRET. The
>> + * IRET unblocks subsequent NMI's (Intel SDM Vol 3, 6.7.1)
>> + */
>> + do_nmi();
>> break;
>> case EXIT_REASON_MCE_DURING_VMENTRY:
>> do_machine_check(regs);
> I think it might also make sense to move the HVMTARCE invocations that
> are just above here down to after this block. There's quite a lot of
> code behind there and though I don't see any potential faults they might
> well get added later (including in places like printk() and
> tasklet_schedule()).
>
> I had a look at the rest of the code that runs between the vmexit and
> here, and it looks OK to me.
>
> George, would that make the tracing more confusing?
Well, it would mildly, because you'd get the trace in vmx_do_extint()
before the trace for the VMEXIT that caused it. :-) If it's important
for correctness, then xenalyze will just have to deal. But it would be
a lot nicer not to have to deal.
-George
prev parent reply other threads:[~2012-11-26 11:50 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 15:00 [PATCH V3] vmx/nmi: Do not use self_nmi() in VMEXIT handler Andrew Cooper
2012-11-22 15:15 ` Jan Beulich
2012-11-22 15:16 ` Andrew Cooper
2012-11-22 15:21 ` Jan Beulich
2012-11-22 15:37 ` Andrew Cooper
2012-11-22 15:55 ` Jan Beulich
2012-11-22 16:05 ` Andrew Cooper
2012-11-22 16:12 ` Jan Beulich
2012-11-22 16:31 ` Andrew Cooper
2013-02-28 9:58 ` Jan Beulich
2013-02-28 12:32 ` Andrew Cooper
2013-02-28 13:00 ` Tim Deegan
2013-02-28 13:12 ` Andrew Cooper
2013-02-28 13:39 ` Jan Beulich
2013-02-28 14:25 ` Tim Deegan
2013-02-28 14:42 ` Jan Beulich
2013-02-28 14:45 ` Andrew Cooper
2013-02-28 14:49 ` Tim Deegan
2013-02-28 15:01 ` Jan Beulich
2013-02-28 15:41 ` Jan Beulich
2013-02-28 15:52 ` Andrew Cooper
2013-02-28 15:55 ` Tim Deegan
2013-02-28 16:12 ` Jan Beulich
2013-02-28 16:01 ` Keir Fraser
2013-02-28 16:17 ` Jan Beulich
2013-02-28 19:02 ` Keir Fraser
2013-03-01 10:49 ` [PATCH v2 0/2] x86: defer processing events on the NMI exit path Jan Beulich
2013-03-01 10:56 ` [PATCH v2 1/2] " Jan Beulich
2013-03-01 11:37 ` Andrew Cooper
2013-03-01 11:53 ` Jan Beulich
2013-03-01 15:56 ` Keir Fraser
2013-03-01 16:01 ` Andrew Cooper
2013-03-01 16:08 ` Jan Beulich
2013-03-01 10:57 ` [PATCH v2 2/2] x86: don't rely on __softirq_pending to be the first field in irq_cpustat_t Jan Beulich
2013-03-01 15:55 ` [PATCH v2 0/2] x86: defer processing events on the NMI exit path Keir Fraser
2013-02-28 13:42 ` [PATCH V3] vmx/nmi: Do not use self_nmi() in VMEXIT handler Jan Beulich
2013-02-28 14:04 ` Tim Deegan
2013-02-28 14:51 ` Konrad Rzeszutek Wilk
2012-11-22 15:22 ` Mats Petersson
2012-11-22 16:00 ` Jan Beulich
2012-11-22 17:34 ` Tim Deegan
2012-11-26 11:50 ` George Dunlap [this message]
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=50B357A2.2050205@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=Andrew.Cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=malcolm.crossley@citrix.com \
--cc=tim@xen.org \
--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 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.