Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
-----Mesaj original----- De la: dev [mailto:dev-boun...@openvswitch.org] În numele Sorin Vinturis Trimis: Wednesday, March 25, 2015 10:14 PM Către: dev@openvswitch.org Subiect: [ovs-dev] [PATCH 04/11] datapath-windows: Added specific pool tag for event code All memory allocations within event code have 'ESVO' pool 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/Event.c | 18 ++++++++++-------- datapath-windows/ovsext/Util.h | 1 + 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/datapath-windows/ovsext/Event.c b/datapath-windows/ovsext/Event.c index 00f4616..cca9575 100644 --- a/datapath-windows/ovsext/Event.c +++ b/datapath-windows/ovsext/Event.c @@ -96,9 +96,9 @@ OvsCleanupEvent(POVS_OPEN_INSTANCE instance) LIST_FORALL_SAFE(&queue->elemList, link, next) { elem = CONTAINING_RECORD(link, OVS_EVENT_QUEUE_ELEM, link); - OvsFreeMemory(elem); + OvsFreeMemoryWithTag(elem, OVS_EVENT_POOL_TAG); } - OvsFreeMemory(queue); + OvsFreeMemoryWithTag(queue, OVS_EVENT_POOL_TAG); } } @@ -139,7 +139,8 @@ OvsPostEvent(UINT32 portNo, portNo == OVS_DEFAULT_PORT_NO) { queue->pollAll = TRUE; } else { - elem = (POVS_EVENT_QUEUE_ELEM)OvsAllocateMemory(sizeof(*elem)); + elem = (POVS_EVENT_QUEUE_ELEM)OvsAllocateMemoryWithTag( + sizeof(*elem), OVS_EVENT_POOL_TAG); if (elem == NULL) { queue->pollAll = TRUE; } else { @@ -158,7 +159,7 @@ OvsPostEvent(UINT32 portNo, LIST_FORALL_SAFE(&queue->elemList, curr, next) { RemoveEntryList(curr); elem = CONTAINING_RECORD(curr, OVS_EVENT_QUEUE_ELEM, link); - OvsFreeMemory(elem); + OvsFreeMemoryWithTag(elem, OVS_EVENT_POOL_TAG); } queue->numElems = 0; } @@ -243,7 +244,8 @@ OvsSubscribeEventIoctl(PFILE_OBJECT fileObject, } if (request->subscribe) { - queue = (POVS_EVENT_QUEUE)OvsAllocateMemory(sizeof (OVS_EVENT_QUEUE)); + queue = (POVS_EVENT_QUEUE)OvsAllocateMemoryWithTag( + sizeof(OVS_EVENT_QUEUE), OVS_EVENT_POOL_TAG); if (queue == NULL) { status = STATUS_NO_MEMORY; OVS_LOG_WARN("Fail to allocate event queue"); @@ -284,9 +286,9 @@ done_event_subscribe: } LIST_FORALL_SAFE(&queue->elemList, link, next) { elem = CONTAINING_RECORD(link, OVS_EVENT_QUEUE_ELEM, link); - OvsFreeMemory(elem); + OvsFreeMemoryWithTag(elem, OVS_EVENT_POOL_TAG); } - OvsFreeMemory(queue); + OvsFreeMemoryWithTag(queue, OVS_EVENT_POOL_TAG); } else { OvsReleaseEventQueueLock(); } @@ -446,7 +448,7 @@ OvsRemoveEventEntry(POVS_OPEN_INSTANCE instance, elem = (POVS_EVENT_QUEUE_ELEM)RemoveHeadList(&queue->elemList); entry->portNo = elem->portNo; entry->status = elem->status; - OvsFreeMemory(elem); + OvsFreeMemoryWithTag(elem, OVS_EVENT_POOL_TAG); queue->numElems--; status = STATUS_SUCCESS; } diff --git a/datapath-windows/ovsext/Util.h b/datapath-windows/ovsext/Util.h index 6a9c169..7811288 100644 --- a/datapath-windows/ovsext/Util.h +++ b/datapath-windows/ovsext/Util.h @@ -25,6 +25,7 @@ #define OVS_OTHER_POOL_TAG 'MSVO' #define OVS_MDL_POOL_TAG 'BSVO' #define OVS_DATAPATH_POOL_TAG 'DSVO' +#define OVS_EVENT_POOL_TAG 'ESVO' VOID *OvsAllocateMemory(size_t size); VOID *OvsAllocateMemoryWithTag(size_t size, ULONG tag); -- 1.9.0.msysgit.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev