Commit 239d1fc0 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Thomas Gleixner

xen: don't worry about preempt during xen_irq_enable()

When enabling interrupts, we don't need to worry about preemption,
because we either enter with interrupts disabled - so no preemption -
or the caller is confused and is re-enabling interrupts on some
indeterminate processor.
Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 2956a351
...@@ -235,13 +235,13 @@ static void xen_irq_enable(void) ...@@ -235,13 +235,13 @@ static void xen_irq_enable(void)
{ {
struct vcpu_info *vcpu; struct vcpu_info *vcpu;
/* There's a one instruction preempt window here. We need to /* We don't need to worry about being preempted here, since
make sure we're don't switch CPUs between getting the vcpu either a) interrupts are disabled, so no preemption, or b)
pointer and updating the mask. */ the caller is confused and is trying to re-enable interrupts
preempt_disable(); on an indeterminate processor. */
vcpu = x86_read_percpu(xen_vcpu); vcpu = x86_read_percpu(xen_vcpu);
vcpu->evtchn_upcall_mask = 0; vcpu->evtchn_upcall_mask = 0;
preempt_enable_no_resched();
/* Doesn't matter if we get preempted here, because any /* Doesn't matter if we get preempted here, because any
pending event will get dealt with anyway. */ pending event will get dealt with anyway. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment