[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 10/10] Only call EVTCHN:Open for rx and tx or single event channel, based on "feature-split-event-channels"
> -----Original Message----- > From: Owen Smith [mailto:owen.smith@xxxxxxxxxx] > Sent: 12 November 2014 16:39 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Paul Durrant; Owen Smith > Subject: [PATCH 10/10] Only call EVTCHN:Open for rx and tx or single event > channel, based on "feature-split-event-channels" > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> As mentioned before, Notifier object should go. Paul > --- > src/xenvif/notifier.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/src/xenvif/notifier.c b/src/xenvif/notifier.c > index 93f2395..e9972d2 100644 > --- a/src/xenvif/notifier.c > +++ b/src/xenvif/notifier.c > @@ -295,6 +295,27 @@ NotifierQueueConnect( > PKSERVICE_ROUTINE Callback = NotifierQueueEvtchnCallback[Index]; > BOOLEAN Pending; > > + switch (Index) { > + case XENVIF_NOTIFIER_EVTCHN_COMBINED: > + if (Notifier->Split) > + continue; > + break; > + > + case XENVIF_NOTIFIER_EVTCHN_RX: > + if (!Notifier->Split) > + continue; > + break; > + > + case XENVIF_NOTIFIER_EVTCHN_TX: > + if (!Notifier->Split) > + continue; > + break; > + > + default: > + ASSERT(FALSE); > + break; > + } > + > if (FrontendGetQueueCount(Frontend) > 1) { > KeSetTargetProcessorDpc(&Queue->Dpc[Index], > (CCHAR)Queue->Index); > @@ -328,6 +349,9 @@ fail1: > Error("fail1 (%08x)\n", status); > > while (--Index >= 0) { > + if (Queue->Channel[Index] == NULL) > + continue; > + > XENBUS_EVTCHN(Close, > &Notifier->EvtchnInterface, > Queue->Channel[Index]); > @@ -384,6 +408,7 @@ NotifierQueueStoreWrite( > break; > } > > + ASSERT(Queue->Channel[Index] != NULL); > Port = XENBUS_EVTCHN(GetPort, > &Notifier->EvtchnInterface, > Queue->Channel[Index]); > -- > 1.9.4.msysgit.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |