[v2 2/2] eal: add total memory size in memory dump APIs
Stephen Hemminger
stephen at networkplumber.org
Thu Oct 10 02:25:51 CEST 2024
On Tue, 30 Jul 2024 16:33:13 +0530
Gagandeep Singh <g.singh at nxp.com> wrote:
> This patch add total memory size dump in memzone and
> memsegments dump APIs.
>
> Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
> ---
> lib/eal/common/eal_common_memory.c | 2 ++
> lib/eal/common/eal_common_memzone.c | 18 ++++++++++++++++--
> 2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/lib/eal/common/eal_common_memory.c b/lib/eal/common/eal_common_memory.c
> index 60ddc30580..c6b9c16617 100644
> --- a/lib/eal/common/eal_common_memory.c
> +++ b/lib/eal/common/eal_common_memory.c
> @@ -531,6 +531,8 @@ void
> rte_dump_physmem_layout(FILE *f)
> {
> rte_memseg_walk(dump_memseg, f);
> + fprintf(f, "Total Memory Segments size = %uM\n",
> + (unsigned int) rte_eal_get_physmem_size() / (1024 * 1024));
> }
You are going to get truncated result here because rte_eal_get_physmem_size() is uint64_t
and unsigned int is 32 bit. The cast happens before the division which leads to
truncation with 4G. Simplest fix would be
fprintf(f, "Total Memory Segments size = %"PRIu64"M\n",
rte_eal_get_physmem_size() / (1024 * 1024));
More information about the dev
mailing list