* [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE
@ 2012-09-07 12:59 Jan Beulich
2012-09-07 14:47 ` Keir Fraser
2012-09-10 13:49 ` Stefano Stabellini
0 siblings, 2 replies; 3+ messages in thread
From: Jan Beulich @ 2012-09-07 12:59 UTC (permalink / raw)
To: xen-devel; +Cc: Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 945 bytes --]
Those two should always be delivered first imo.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -395,16 +395,16 @@ struct hvm_intack hvm_vcpu_has_pending_i
struct hvm_domain *plat = &v->domain->arch.hvm_domain;
int vector;
- if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
- && vcpu_info(v, evtchn_upcall_pending) )
- return hvm_intack_vector(plat->irq.callback_via.vector);
-
if ( unlikely(v->nmi_pending) )
return hvm_intack_nmi;
if ( unlikely(v->mce_pending) )
return hvm_intack_mce;
+ if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
+ && vcpu_info(v, evtchn_upcall_pending) )
+ return hvm_intack_vector(plat->irq.callback_via.vector);
+
if ( vlapic_accept_pic_intr(v) && plat->vpic[0].int_output )
return hvm_intack_pic(0);
[-- Attachment #2: x86-hvm-vector-delivery.patch --]
[-- Type: text/plain, Size: 1007 bytes --]
x86/hvm: don't give vector callback higher priority than NMI/MCE
Those two should always be delivered first imo.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -395,16 +395,16 @@ struct hvm_intack hvm_vcpu_has_pending_i
struct hvm_domain *plat = &v->domain->arch.hvm_domain;
int vector;
- if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
- && vcpu_info(v, evtchn_upcall_pending) )
- return hvm_intack_vector(plat->irq.callback_via.vector);
-
if ( unlikely(v->nmi_pending) )
return hvm_intack_nmi;
if ( unlikely(v->mce_pending) )
return hvm_intack_mce;
+ if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
+ && vcpu_info(v, evtchn_upcall_pending) )
+ return hvm_intack_vector(plat->irq.callback_via.vector);
+
if ( vlapic_accept_pic_intr(v) && plat->vpic[0].int_output )
return hvm_intack_pic(0);
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE
2012-09-07 12:59 [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE Jan Beulich
@ 2012-09-07 14:47 ` Keir Fraser
2012-09-10 13:49 ` Stefano Stabellini
1 sibling, 0 replies; 3+ messages in thread
From: Keir Fraser @ 2012-09-07 14:47 UTC (permalink / raw)
To: Jan Beulich, xen-devel; +Cc: Stefano Stabellini
On 07/09/2012 13:59, "Jan Beulich" <JBeulich@suse.com> wrote:
> Those two should always be delivered first imo.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
> --- a/xen/arch/x86/hvm/irq.c
> +++ b/xen/arch/x86/hvm/irq.c
> @@ -395,16 +395,16 @@ struct hvm_intack hvm_vcpu_has_pending_i
> struct hvm_domain *plat = &v->domain->arch.hvm_domain;
> int vector;
>
> - if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
> - && vcpu_info(v, evtchn_upcall_pending) )
> - return hvm_intack_vector(plat->irq.callback_via.vector);
> -
> if ( unlikely(v->nmi_pending) )
> return hvm_intack_nmi;
>
> if ( unlikely(v->mce_pending) )
> return hvm_intack_mce;
>
> + if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
> + && vcpu_info(v, evtchn_upcall_pending) )
> + return hvm_intack_vector(plat->irq.callback_via.vector);
> +
> if ( vlapic_accept_pic_intr(v) && plat->vpic[0].int_output )
> return hvm_intack_pic(0);
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE
2012-09-07 12:59 [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE Jan Beulich
2012-09-07 14:47 ` Keir Fraser
@ 2012-09-10 13:49 ` Stefano Stabellini
1 sibling, 0 replies; 3+ messages in thread
From: Stefano Stabellini @ 2012-09-10 13:49 UTC (permalink / raw)
To: Jan Beulich; +Cc: Stefano Stabellini, xen-devel
On Fri, 7 Sep 2012, Jan Beulich wrote:
> Those two should always be delivered first imo.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> --- a/xen/arch/x86/hvm/irq.c
> +++ b/xen/arch/x86/hvm/irq.c
> @@ -395,16 +395,16 @@ struct hvm_intack hvm_vcpu_has_pending_i
> struct hvm_domain *plat = &v->domain->arch.hvm_domain;
> int vector;
>
> - if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
> - && vcpu_info(v, evtchn_upcall_pending) )
> - return hvm_intack_vector(plat->irq.callback_via.vector);
> -
> if ( unlikely(v->nmi_pending) )
> return hvm_intack_nmi;
>
> if ( unlikely(v->mce_pending) )
> return hvm_intack_mce;
>
> + if ( (plat->irq.callback_via_type == HVMIRQ_callback_vector)
> + && vcpu_info(v, evtchn_upcall_pending) )
> + return hvm_intack_vector(plat->irq.callback_via.vector);
> +
> if ( vlapic_accept_pic_intr(v) && plat->vpic[0].int_output )
> return hvm_intack_pic(0);
>
>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-10 13:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-07 12:59 [PATCH] x86/hvm: don't give vector callback higher priority than NMI/MCE Jan Beulich
2012-09-07 14:47 ` Keir Fraser
2012-09-10 13:49 ` Stefano Stabellini
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).