Hi Everyone,

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.

Regards,
Keith

Reply via email to