> > -            ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
> >             OvsAcquireDatapathRead(datapath, &dpLockState, dispatch);
> 
> We can pass NDIS_RWL_AT_DISPATCH_LEVEL instead of 'dispatch', and let the
> ASSERT be.
> 
> SV: Here, I will leave the use of the 'dispatch' variable, due to the fact
> that NDIS calls our SendNetBufferListsHandler, i.e. OvsExtSendNBL, at IRQL <=
> DISPATCH_LEVEL. Also I'll undo the assert deletion.

We have acquired another lock by now a few lines above, which elevates us to 
NDIS_RWL_AT_DISPATCH_LEVEL. Hence the ASSERT that we are in dispatch level. I 
am ok if you want to use 'dispatch' variable instead of using hardcoded value 
NDIS_RWL_AT_DISPATCH_LEVEL.

230             /* Take the DispatchLock so none of the VPORTs disconnect while
231              * we are setting destination ports.
232              *
233              * XXX: acquire/release the dispatch lock for a "batch" of 
packets
234              * rather than for each packet. */
235             NdisAcquireRWLockRead(switchContext->dispatchLock, &lockState,
236                                   dispatch);

Look forward to the v2.

thanks,
-- Nithin
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to