[dpdk-dev] [PATCH v3 0/4] Allow using external memory without malloc

Thomas Monjalon thomas at monjalon.net
Thu Dec 20 18:18:05 CET 2018


20/12/2018 17:16, Stephen Hemminger:
> On Thu, 20 Dec 2018 15:32:37 +0000
> Anatoly Burakov <anatoly.burakov at intel.com> wrote:
> 
> > Currently, the only way to use externally allocated memory
> > is through rte_malloc API's. While this is fine for a lot
> > of use cases, it may not be suitable for certain other use
> > cases like manual memory management, etc.
> > 
> > This patchset adds another API to register memory segments
> > with DPDK (so that API's like ``rte_mem_virt2memseg`` could
> > be relied on by PMD's and such), but not create a malloc
> > heap out of them.
> > 
> > Aside from the obvious (not adding memory to a heap), the
> > other major difference between this API and the
> > ``rte_malloc_heap_*`` external memory functions is the fact
> > that no DMA mapping is performed automatically, as well as
> > no mem event callbacks are triggered.
> > 
> > This really draws a line in the sand, and there are now two
> > ways of doing things - do everything automatically (using
> > the ``rte_malloc_heap_*`` API's), or do everything manually
> > (``rte_extmem_*`` and future DMA mapping API [1] that would
> > replace ``rte_vfio_dma_map``). This way, the consistency of
> > API is kept, and flexibility is also allowed.
> > 
> > [1] https://mails.dpdk.org/archives/dev/2018-November/118175.html
> 
> Where are the examples for this? Give a sample application maybe.
> 
> Also there are no test cases.

It looks to be a big task, but yes, would be nice to have test
of external memory allocation in DPDK unit tests.





More information about the dev mailing list