[dpdk-dev] [RFC] Abi breakage for rte_mempool to reduce footprint
keith.wiles at intel.com
Thu Jan 28 21:07:42 CET 2016
Currently every mempool created has a footprint of 1.5Megs of memory just for the struct rte_mempool, this also includes all of the rte_pktmbuf creates as well. The issue is the local_cache adds about 1.5Megs of memory, which is a huge amount IMHO for non-cached based mempools. Without the local_cache the structure is about 192bytes. You can set the config option for the cache to ’n’, but then all allocations will not use the per core cache. I have some code I will send as a patch to have the local_cache allocated only when a mempool is created and the caller has a non-zero cache size set in the call.
This will break ABI for the struct rte_mempool, but does remove some of the ifdefs for RTE_MEMPOOL_CACHE_SIZE in the code. The performance appears to be the same, but will do some more testing before I submit the patch.
Please let me know if this would be reasonable or other comments.
More information about the dev