[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH xenbus 2/4] Don't veto event channel binding if it's not necessary



From: Paul Durrant <pdurrant@xxxxxxxxxx>

Currently binding is vetoed if 'UpcallEnabled' is not set, but this is not
necessary if the selected processor is 0, as the callback via will also
interrupt that CPU.

Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
---
 src/xenbus/evtchn.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c
index 4a764c071433..46227725e237 100644
--- a/src/xenbus/evtchn.c
+++ b/src/xenbus/evtchn.c
@@ -276,7 +276,7 @@ EvtchnOpenVirq(
     Processor = &Context->Processor[Cpu];
 
     status = STATUS_NOT_SUPPORTED;
-    if (!Processor->UpcallEnabled)
+    if (!Processor->UpcallEnabled && Cpu != 0)
         goto fail1;
 
     status = SystemVirtualCpuIndex(Cpu, &vcpu_id);
@@ -749,7 +749,7 @@ EvtchnBind(
     Processor = &Context->Processor[Cpu];
 
     status = STATUS_NOT_SUPPORTED;
-    if (!Processor->UpcallEnabled)
+    if (!Processor->UpcallEnabled && Cpu != 0)
         goto fail1;
 
     KeAcquireSpinLock(&Channel->Lock, &Irql);
-- 
2.17.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.