Added functions for allocating and releasing memory with specified tag. Signed-off-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> Reported-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/56 --- datapath-windows/ovsext/Util.c | 15 +++++++++++++++ datapath-windows/ovsext/Util.h | 2 ++ 2 files changed, 17 insertions(+)
diff --git a/datapath-windows/ovsext/Util.c b/datapath-windows/ovsext/Util.c index 2dfba8e..65dd132 100644 --- a/datapath-windows/ovsext/Util.c +++ b/datapath-windows/ovsext/Util.c @@ -24,6 +24,21 @@ extern NDIS_HANDLE gOvsExtDriverHandle; +VOID* +OvsAllocateMemoryWithTag(size_t size, ULONG tag) +{ + OVS_VERIFY_IRQL_LE(DISPATCH_LEVEL); + return NdisAllocateMemoryWithTagPriority(gOvsExtDriverHandle, + (UINT32)size, tag, NormalPoolPriority); +} + +VOID +OvsFreeMemoryWithTag(VOID *ptr, ULONG tag) +{ + ASSERT(ptr); + NdisFreeMemoryWithTagPriority(gOvsExtDriverHandle, ptr, tag); +} + VOID * OvsAllocateMemory(size_t size) { diff --git a/datapath-windows/ovsext/Util.h b/datapath-windows/ovsext/Util.h index e752209..0303f46 100644 --- a/datapath-windows/ovsext/Util.h +++ b/datapath-windows/ovsext/Util.h @@ -25,8 +25,10 @@ #define OVS_OTHER_POOL_TAG 'MSVO' VOID *OvsAllocateMemory(size_t size); +VOID *OvsAllocateMemoryWithTag(size_t size, ULONG tag); VOID *OvsAllocateAlignedMemory(size_t size, UINT16 align); VOID OvsFreeMemory(VOID *ptr); +VOID OvsFreeMemoryWithTag(VOID *ptr, ULONG tag); VOID OvsFreeAlignedMemory(VOID *ptr); #define LIST_FORALL(_headPtr, _itemPtr) \ -- 1.9.0.msysgit.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev