[ovs-dev] [PATCH v2 1/2] datapath-windows: Fix CtrlLock acquire issue in OvsReadEventCmdHandler
Sorin Vinturis
svinturis at cloudbasesolutions.com
Tue Oct 14 18:35:07 UTC 2014
Looks good Ankur. Thanks!
Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
-----Original Message-----
From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Eitan Eliahu
Sent: Tuesday, October 14, 2014 8:17 PM
To: Ankur Sharma; dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH v2 1/2] datapath-windows: Fix CtrlLock acquire issue in OvsReadEventCmdHandler
Acked-by: Eitan Eliahu <eliahue at vmware.com>
Thanks Ankur,
Eitan
-----Original Message-----
From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Ankur Sharma
Sent: Tuesday, October 14, 2014 10:16 AM
To: dev at openvswitch.org
Subject: [ovs-dev] [PATCH v2 1/2] datapath-windows: Fix CtrlLock acquire issue in OvsReadEventCmdHandler
OvsReadEventCmdHandler was calling OvsRemoveEventEntry after acquiring CtrlLock. OvsRemoveEventEntry in turn also tries to acquire the same lock.
Added a new lock in Event.c for the eventQueue.
Signed-off-by: Ankur Sharma <ankursharma at vmware.com>
---
datapath-windows/ovsext/Event.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/datapath-windows/ovsext/Event.c b/datapath-windows/ovsext/Event.c index 467771d..d80f3fd 100644
--- a/datapath-windows/ovsext/Event.c
+++ b/datapath-windows/ovsext/Event.c
@@ -28,15 +28,15 @@
#include "Debug.h"
LIST_ENTRY ovsEventQueue;
+static NDIS_SPIN_LOCK eventQueueLock;
UINT32 ovsNumEventQueue;
UINT32 ovsNumPollAll;
-extern PNDIS_SPIN_LOCK gOvsCtrlLock;
-
NTSTATUS
OvsInitEventQueue()
{
InitializeListHead(&ovsEventQueue);
+ NdisAllocateSpinLock(&eventQueueLock);
return STATUS_SUCCESS;
}
@@ -45,18 +45,19 @@ OvsCleanupEventQueue() {
ASSERT(IsListEmpty(&ovsEventQueue));
ASSERT(ovsNumEventQueue == 0);
+ NdisFreeSpinLock(&eventQueueLock);
}
static __inline VOID
OvsAcquireEventQueueLock()
{
- NdisAcquireSpinLock(gOvsCtrlLock);
+ NdisAcquireSpinLock(&eventQueueLock);
}
static __inline VOID
OvsReleaseEventQueueLock()
{
- NdisReleaseSpinLock(gOvsCtrlLock);
+ NdisReleaseSpinLock(&eventQueueLock);
}
/*
--
1.9.1
_______________________________________________
dev mailing list
dev at openvswitch.org
https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=yTvML8OxA42Jb6ViHe7fUXbvPVOYDPVq87w43doxtlY%3D%0A&m=u%2FpCXxVbHTLEi6XUcRi6kQnn%2Fe30TTprbl0L0R2KoaU%3D%0A&s=6cc3db0a7628916d299e1109f3754fb815f422c016389b9fb6c8e0a3d405bba3
_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list