Sync some patchs from upstreaming for telemetry and modifies are as follow: 1. Support dispaly integer as hexadecimal. 2. Fix data truncation for some u64 accept as int. 3. Add JSON pretty print. (cherry picked from commit 9e45664c52b35caa057da6a442599e03f4527817)
66 lines
2.5 KiB
Diff
66 lines
2.5 KiB
Diff
From ecdcf5720497371f360dde918df83dbc56f32284 Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Mon, 19 Dec 2022 15:06:45 +0800
|
|
Subject: mem: fix telemetry data truncation
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
[ upstream commit 6243e36b837b754c33017718cf79f7574a52b09c ]
|
|
|
|
The 'u32' and 'u64' data can not assigned to 'int' type variable.
|
|
They need to use the 'u64' APIs to add.
|
|
|
|
Fixes: e6732d0d6e26 ("mem: add telemetry infos")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Acked-by: Morten Brørup <mb@smartsharesystems.com>
|
|
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
|
|
---
|
|
lib/eal/common/eal_common_memory.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/lib/eal/common/eal_common_memory.c b/lib/eal/common/eal_common_memory.c
|
|
index 69dea8f72b..f2f8858e22 100644
|
|
--- a/lib/eal/common/eal_common_memory.c
|
|
+++ b/lib/eal/common/eal_common_memory.c
|
|
@@ -1191,7 +1191,7 @@ handle_eal_heap_info_request(const char *cmd __rte_unused, const char *params,
|
|
malloc_heap_get_stats(heap, &sock_stats);
|
|
|
|
rte_tel_data_start_dict(d);
|
|
- rte_tel_data_add_dict_int(d, "Head id", heap_id);
|
|
+ rte_tel_data_add_dict_u64(d, "Head id", heap_id);
|
|
rte_tel_data_add_dict_string(d, "Name", heap->name);
|
|
rte_tel_data_add_dict_u64(d, "Heap_size",
|
|
sock_stats.heap_totalsz_bytes);
|
|
@@ -1253,13 +1253,13 @@ handle_eal_memzone_info_request(const char *cmd __rte_unused,
|
|
mz = rte_fbarray_get(&mcfg->memzones, mz_idx);
|
|
|
|
rte_tel_data_start_dict(d);
|
|
- rte_tel_data_add_dict_int(d, "Zone", mz_idx);
|
|
+ rte_tel_data_add_dict_u64(d, "Zone", mz_idx);
|
|
rte_tel_data_add_dict_string(d, "Name", mz->name);
|
|
- rte_tel_data_add_dict_int(d, "Length", mz->len);
|
|
+ rte_tel_data_add_dict_u64(d, "Length", mz->len);
|
|
snprintf(addr, ADDR_STR, "%p", mz->addr);
|
|
rte_tel_data_add_dict_string(d, "Address", addr);
|
|
rte_tel_data_add_dict_int(d, "Socket", mz->socket_id);
|
|
- rte_tel_data_add_dict_int(d, "Flags", mz->flags);
|
|
+ rte_tel_data_add_dict_u64(d, "Flags", mz->flags);
|
|
|
|
/* go through each page occupied by this memzone */
|
|
msl = rte_mem_virt2memseg_list(mz->addr);
|
|
@@ -1274,7 +1274,7 @@ handle_eal_memzone_info_request(const char *cmd __rte_unused,
|
|
ms_idx = RTE_PTR_DIFF(mz->addr, msl->base_va) / page_sz;
|
|
ms = rte_fbarray_get(&msl->memseg_arr, ms_idx);
|
|
|
|
- rte_tel_data_add_dict_int(d, "Hugepage_size", page_sz);
|
|
+ rte_tel_data_add_dict_u64(d, "Hugepage_size", page_sz);
|
|
snprintf(addr, ADDR_STR, "%p", ms->addr);
|
|
rte_tel_data_add_dict_string(d, "Hugepage_base", addr);
|
|
|
|
--
|
|
2.23.0
|
|
|