Sam,
I don't have a strong opinion here. I am fine if you want to change the utility
functions in OvsUtil.c to allocate and free the memory. These are different
implementations to do the same thing, and not significantly different. If you
want to go ahead and make this change, pls. make it in OvsUtil.c and remove the
code in let's come up with a series of patches where we define the new memory
allocation functions, and change each of the callsites of OvsAllocateMemory()
etc, to use the new functions.
Some comments in the meantime:
> +#define OVS_ALLOC(size) ExAllocatePoolWithTag(NonPagedPool, size,
> OVS_MEMORY_TAG)
We used NdisAllocateMemoryWithTagPriority() since OVS is an NDIS driver. I am
not 100% sure if using ExAllocatePoolWithTag() is better or worse than
NdisAllocateMemoryWithTagPriority().
> +
> +static __inline VOID* KZAlloc(SIZE_T size)
> +{
> + VOID* p = OVS_ALLOC(size);
> + if (!p)
> + {
> + return NULL;
> + }
> +
> + RtlZeroMemory(p, size);
> + return p;
> +}
We an add an additional API like OvsAllocateMemory() which also zeros the
memory.
thanks,
Nithin
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev