On 09-Oct-19 10:38 AM, Bruce Richardson wrote:
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


That is correct, although i would say it's not a "matter of preference" of which is used, but rather matter of whether the additional features offered by memzone allocator (lookup by name, alignment, etc.) are needed.

--
Thanks,
Anatoly

Reply via email to