[dpdk-dev] Memory allocation in libraries
Bruce Richardson
bruce.richardson at intel.com
Wed Oct 9 11:38:14 CEST 2019
On Wed, Oct 09, 2019 at 10:13:07AM +0200, Morten Brørup wrote:
> Hi all,
>
> I just noticed an inconsistency in the use of memory allocation:
>
> Some libraries allocate their data structures using the rte_memzone library,
> e.g. the rte_ring library:
> http://code.dpdk.org/dpdk/latest/source/lib/librte_ring/rte_ring.c#L163
>
> And some libraries allocate their data structures using the rte_malloc library,
> e.g. the rte_hash library:
> http://code.dpdk.org/dpdk/latest/source/lib/librte_hash/rte_cuckoo_hash.c#L273
>
>
> These are data structures being used in the data plane,
> so I would like to know if this was given any deeper thoughts,
> and if there are any performance differences.
>
Both memzones and malloc blocks now come from the same memory, so there
should be no performance differences. Both allocation schemes now use
hugepage memory, so at this point it's largely a matter of preference which
is used. Originally, memzones were preferred in DPDK, since malloc did not
allow getting the physical address info, but I believe that is now possible
for both allocation types.
/Bruce
More information about the dev
mailing list