[dpdk-dev] [PATCH v5 3/3] mempool: allow for user-owned mempool caches

Olivier MATZ olivier.matz at 6wind.com
Wed Jun 29 14:13:32 CEST 2016


Hi Lazaros,

On 06/29/2016 01:47 AM, Lazaros Koromilas wrote:
> The mempool cache is only available to EAL threads as a per-lcore
> resource. Change this so that the user can create and provide their own
> cache on mempool get and put operations. This works with non-EAL threads
> too. This commit introduces the new API calls:
>
>      rte_mempool_cache_create(size, socket_id)
>      rte_mempool_cache_free(cache)
>      rte_mempool_cache_flush(cache, mp)
>      rte_mempool_default_cache(mp, lcore_id)
>
> Changes the API calls:
>
>      rte_mempool_generic_put(mp, obj_table, n, cache, flags)
>      rte_mempool_generic_get(mp, obj_table, n, cache, flags)
>
> The cache-oblivious API calls use the per-lcore default local cache.
>
> Signed-off-by: Lazaros Koromilas <l at nofutznetworks.com>
> Acked-by: Olivier Matz <olivier.matz at 6wind.com>
> ---
>   app/test/test_mempool.c                         |  73 ++++++++---
>   app/test/test_mempool_perf.c                    |  73 +++++++++--
>   doc/guides/prog_guide/env_abstraction_layer.rst |   4 +-
>   doc/guides/prog_guide/mempool_lib.rst           |   6 +-
>   lib/librte_mempool/rte_mempool.c                |  66 +++++++++-
>   lib/librte_mempool/rte_mempool.h                | 164 +++++++++++++++++-------
>   lib/librte_mempool/rte_mempool_version.map      |   4 +
>   7 files changed, 308 insertions(+), 82 deletions(-)
>

Thanks Lazaros for the doc update, looks good to me.


Thomas, as discussed IRL, could you please remove the deprecation
notice and add the following note in release_16_07.rst when applying
the patches?

* **Added mempool external cache for non-EAL thread.**

   Added new functions to create, free or flush a user-owned mempool
   cache for non-EAL threads. Previously, cache was always disabled
   on these threads.


Thanks,
Olivier


More information about the dev mailing list