Skip to content

Commit

Permalink
datapath-windows: Added specific pool tag for flow code
Browse files Browse the repository at this point in the history
All memory allocations within flow code have 'LSVO' pool tag.

Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com>
Reported-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Reported-at: openvswitch/ovs-issues#56
Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
  • Loading branch information
svinturis authored and blp committed Mar 26, 2015
1 parent 8472609 commit 9907537
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
11 changes: 6 additions & 5 deletions datapath-windows/ovsext/Flow.c
Expand Up @@ -1512,7 +1512,7 @@ OvsDeleteFlowTable(OVS_DATAPATH *datapath)
}

DeleteAllFlows(datapath);
OvsFreeMemory(datapath->flowTable);
OvsFreeMemoryWithTag(datapath->flowTable, OVS_FLOW_POOL_TAG);
datapath->flowTable = NULL;
NdisFreeRWLock(datapath->lock);

Expand All @@ -1534,8 +1534,8 @@ OvsAllocateFlowTable(OVS_DATAPATH *datapath,
PLIST_ENTRY bucket;
int i;

datapath->flowTable = OvsAllocateMemory(OVS_FLOW_TABLE_SIZE *
sizeof (LIST_ENTRY));
datapath->flowTable = OvsAllocateMemoryWithTag(
OVS_FLOW_TABLE_SIZE * sizeof(LIST_ENTRY), OVS_FLOW_POOL_TAG);
if (!datapath->flowTable) {
return NDIS_STATUS_RESOURCES;
}
Expand Down Expand Up @@ -1976,7 +1976,7 @@ VOID
FreeFlow(OvsFlow *flow)
{
ASSERT(flow);
OvsFreeMemory(flow);
OvsFreeMemoryWithTag(flow, OVS_FLOW_POOL_TAG);
}

NTSTATUS
Expand Down Expand Up @@ -2259,7 +2259,8 @@ OvsPrepareFlow(OvsFlow **flow,

do {
*flow = localFlow =
OvsAllocateMemory(sizeof(OvsFlow) + put->actionsLen);
OvsAllocateMemoryWithTag(sizeof(OvsFlow) + put->actionsLen,
OVS_FLOW_POOL_TAG);
if (localFlow == NULL) {
status = STATUS_NO_MEMORY;
break;
Expand Down
1 change: 1 addition & 0 deletions datapath-windows/ovsext/Util.h
Expand Up @@ -26,6 +26,7 @@
#define OVS_MDL_POOL_TAG 'BSVO'
#define OVS_DATAPATH_POOL_TAG 'DSVO'
#define OVS_EVENT_POOL_TAG 'ESVO'
#define OVS_FLOW_POOL_TAG 'LSVO'

VOID *OvsAllocateMemory(size_t size);
VOID *OvsAllocateMemoryWithTag(size_t size, ULONG tag);
Expand Down

0 comments on commit 9907537

Please sign in to comment.