[PATCH] mempool:Add monitor dump for memory pool

Morten Brørup mb at smartsharesystems.com
Sun Jan 1 12:28:56 CET 2023


> From: wushaohua at chinatelecom.cn [mailto:wushaohua at chinatelecom.cn]
> Sent: Sunday, 1 January 2023 06.18
> 
> From: Shaohua Wu <wushaohua at chinatelecom.cn>
> 
> rte_mempool_dump add dump for monitoring available and
> used memory blocks
> 
> Signed-off-by: Shaohua Wu <wushaohua at chinatelecom.cn>
> ---
>  lib/mempool/rte_mempool.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/mempool/rte_mempool.c b/lib/mempool/rte_mempool.c
> index f33f455790..09d512a604 100644
> --- a/lib/mempool/rte_mempool.c
> +++ b/lib/mempool/rte_mempool.c
> @@ -1265,9 +1265,14 @@ rte_mempool_dump(FILE *f, struct rte_mempool
> *mp)
> 
>  	cache_count = rte_mempool_dump_cache(f, mp);
>  	common_count = rte_mempool_ops_get_count(mp);
> +
>  	if ((cache_count + common_count) > mp->size)
>  		common_count = mp->size - cache_count;
>  	fprintf(f, "  common_pool_count=%u\n", common_count);
> +	fprintf(f, "  common_pool_avail_count=%u\n",
> +				rte_mempool_avail_count(mp));

The number of available objects in the common pool is already shown as "common_pool_count".

If you want to show the total number of available objects in both the common pool and the caches, you can calculate is as common_count + cache_count, instead of calling rte_mempool_avail_count(). And "total_count" would be a better name than "common_pool_avail_count".

> +	fprintf(f, "  common_pool_used_count=%u\n",
> +				rte_mempool_in_use_count(mp));

common_pool_used_count can be calculated as mp->size - common_count, instead of calling rte_mempool_in_use_count(mp).

> 
>  	/* sum and dump statistics */
>  #ifdef RTE_LIBRTE_MEMPOOL_STATS
> --
> 2.30.2
> 



More information about the dev mailing list