diff mbox

[v3.1,04/15] xen/x86: assert that local_events_need_delivery is not called by the idle domain

Message ID 1477731601-10926-5-git-send-email-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Roger Pau Monné Oct. 29, 2016, 8:59 a.m. UTC
It doesn't make sense since the idle domain doesn't receive any events. This
is relevant in order to be sure that hypercall_preempt_check is not called
by the idle domain, which would happen previously when calling
{hap/sh}_set_allocation during domain 0 creation.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v2:
 - Expand commit message.
---
 xen/include/asm-x86/event.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jan Beulich Oct. 31, 2016, 4:37 p.m. UTC | #1
>>> On 29.10.16 at 10:59, <roger.pau@citrix.com> wrote:
> It doesn't make sense since the idle domain doesn't receive any events. This
> is relevant in order to be sure that hypercall_preempt_check is not called
> by the idle domain, which would happen previously when calling
> {hap/sh}_set_allocation during domain 0 creation.

AIUI this describes the state of things before this series, not before
this patch. I wonder whether this wouldn't better be folded into the
previous patch, with the commit message slightly adjusted.

Jan
diff mbox

Patch

diff --git a/xen/include/asm-x86/event.h b/xen/include/asm-x86/event.h
index a82062e..d589d6f 100644
--- a/xen/include/asm-x86/event.h
+++ b/xen/include/asm-x86/event.h
@@ -23,6 +23,9 @@  int hvm_local_events_need_delivery(struct vcpu *v);
 static inline int local_events_need_delivery(void)
 {
     struct vcpu *v = current;
+
+    ASSERT(!is_idle_vcpu(v));
+
     return (has_hvm_container_vcpu(v) ? hvm_local_events_need_delivery(v) :
             (vcpu_info(v, evtchn_upcall_pending) &&
              !vcpu_info(v, evtchn_upcall_mask)));