* Re: [dpdk-dev] [PATCH] app/testpmd: add memory dump command
2020-04-02 13:03 [dpdk-dev] [PATCH] app/testpmd: add memory dump command Xueming Li
@ 2020-04-02 15:55 ` Ferruh Yigit
2020-04-03 6:53 ` [dpdk-dev] [PATCH v1] " Xueming Li
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Ferruh Yigit @ 2020-04-02 15:55 UTC (permalink / raw)
To: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov
Cc: dev, Asaf Penso
On 4/2/2020 2:03 PM, Xueming Li wrote:
> Introduce new command to dump memory statistics of each socket,
> summary, also show changes since last call.
>
> Usage:
> dump_socket
Can you please update documentation for this new command?
>
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
<...>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-02 13:03 [dpdk-dev] [PATCH] app/testpmd: add memory dump command Xueming Li
2020-04-02 15:55 ` Ferruh Yigit
@ 2020-04-03 6:53 ` Xueming Li
2020-04-03 6:53 ` Xueming Li
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Xueming Li @ 2020-04-03 6:53 UTC (permalink / raw)
To: Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov,
Ferruh Yigit
Cc: dev, Asaf Penso
v0: initial version
v1: update user guide
Xueming Li (1):
app/testpmd: add memory dump command
app/test-pmd/cmdline.c | 52 +++++++++++++++++++++++++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 ++++
2 files changed, 58 insertions(+)
--
1.8.3.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-02 13:03 [dpdk-dev] [PATCH] app/testpmd: add memory dump command Xueming Li
2020-04-02 15:55 ` Ferruh Yigit
2020-04-03 6:53 ` [dpdk-dev] [PATCH v1] " Xueming Li
@ 2020-04-03 6:53 ` Xueming Li
2020-04-03 13:29 ` Ferruh Yigit
2020-04-05 2:49 ` [dpdk-dev] [PATCH v2] " Xueming Li
2020-04-05 2:49 ` Xueming Li
4 siblings, 1 reply; 12+ messages in thread
From: Xueming Li @ 2020-04-03 6:53 UTC (permalink / raw)
To: Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov,
Ferruh Yigit
Cc: dev, Asaf Penso
Introduce new command to dump memory statistics of each socket,
summary, also show changes since last call.
Usage:
dump_socket
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
---
app/test-pmd/cmdline.c | 52 +++++++++++++++++++++++++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 ++++
2 files changed, 58 insertions(+)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 274e391..9bb64bb 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -9568,6 +9568,55 @@ struct cmd_dump_result {
#undef DUMP_SIZE
}
+
+/* Dump the socket memory statistics on console */
+static void
+dump_socket_mem(FILE *f)
+{
+ struct rte_malloc_socket_stats socket_stats;
+ unsigned int i;
+ int64_t total = 0;
+ int64_t alloc = 0;
+ int64_t free = 0;
+ unsigned int n_alloc = 0;
+ unsigned int n_free = 0;
+ static int64_t last_allocs;
+ static int64_t last_total;
+
+
+ for (i = 0; i < RTE_MAX_NUMA_NODES; i++) {
+ if (rte_malloc_get_socket_stats(i, &socket_stats) ||
+ !socket_stats.heap_totalsz_bytes)
+ continue;
+ total += socket_stats.heap_totalsz_bytes;
+ alloc += socket_stats.heap_allocsz_bytes;
+ free += socket_stats.heap_freesz_bytes;
+ n_alloc += socket_stats.alloc_count;
+ n_free += socket_stats.free_count;
+ fprintf(f,
+ "Socket %u: size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+ i,
+ socket_stats.heap_totalsz_bytes / 1.0e6,
+ socket_stats.heap_allocsz_bytes / 1.0e6,
+ (double)socket_stats.heap_allocsz_bytes * 100 /
+ (double)socket_stats.heap_totalsz_bytes,
+ socket_stats.heap_freesz_bytes / 1.0e6,
+ socket_stats.alloc_count,
+ socket_stats.free_count);
+ }
+ fprintf(f,
+ "Total : size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+ total / 1.0e6, alloc / 1.0e6,
+ (double)alloc * 100 / (double)total, free / 1.0e6,
+ n_alloc, n_free);
+ if (last_allocs)
+ fprintf(stdout, "Memory total change: %.6lf(M), allocation change: %.6lf(M)\n",
+ (total - last_total) / 1.0e6,
+ (alloc - last_allocs) / 1.0e6);
+ last_allocs = alloc;
+ last_total = total;
+}
+
static void cmd_dump_parsed(void *parsed_result,
__attribute__((unused)) struct cmdline *cl,
__attribute__((unused)) void *data)
@@ -9576,6 +9625,8 @@ static void cmd_dump_parsed(void *parsed_result,
if (!strcmp(res->dump, "dump_physmem"))
rte_dump_physmem_layout(stdout);
+ else if (!strcmp(res->dump, "dump_socket"))
+ dump_socket_mem(stdout);
else if (!strcmp(res->dump, "dump_memzone"))
rte_memzone_dump(stdout);
else if (!strcmp(res->dump, "dump_malloc")) {
@@ -9604,6 +9655,7 @@ static void cmd_dump_parsed(void *parsed_result,
TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
"dump_physmem#"
"dump_memzone#"
+ "dump_socket#"
"dump_struct_sizes#"
"dump_ring#"
"dump_mempool#"
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 1a9879f..d248337 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -539,6 +539,12 @@ Dumps the layout of all memory zones::
testpmd> dump_memzone
+dump socket
+~~~~~~~~~~~~
+
+Dumps the memory usage of all sockets::
+
+ testpmd> dump_socket
dump struct size
~~~~~~~~~~~~~~~~
--
1.8.3.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-03 6:53 ` Xueming Li
@ 2020-04-03 13:29 ` Ferruh Yigit
2020-04-03 16:04 ` Stephen Hemminger
2020-04-03 16:08 ` Stephen Hemminger
0 siblings, 2 replies; 12+ messages in thread
From: Ferruh Yigit @ 2020-04-03 13:29 UTC (permalink / raw)
To: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov
Cc: dev, Asaf Penso
On 4/3/2020 7:53 AM, Xueming Li wrote:
> Introduce new command to dump memory statistics of each socket,
> summary, also show changes since last call.
>
> Usage:
> dump_socket
>
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
> ---
> app/test-pmd/cmdline.c | 52 +++++++++++++++++++++++++++++
> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 ++++
> 2 files changed, 58 insertions(+)
>
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 274e391..9bb64bb 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -9568,6 +9568,55 @@ struct cmd_dump_result {
> #undef DUMP_SIZE
> }
>
> +
> +/* Dump the socket memory statistics on console */
> +static void
> +dump_socket_mem(FILE *f)
> +{
> + struct rte_malloc_socket_stats socket_stats;
> + unsigned int i;
> + int64_t total = 0;
> + int64_t alloc = 0;
> + int64_t free = 0;
> + unsigned int n_alloc = 0;
> + unsigned int n_free = 0;
> + static int64_t last_allocs;
> + static int64_t last_total;
> +
> +
> + for (i = 0; i < RTE_MAX_NUMA_NODES; i++) {
> + if (rte_malloc_get_socket_stats(i, &socket_stats) ||
> + !socket_stats.heap_totalsz_bytes)
> + continue;
> + total += socket_stats.heap_totalsz_bytes;
> + alloc += socket_stats.heap_allocsz_bytes;
> + free += socket_stats.heap_freesz_bytes;
> + n_alloc += socket_stats.alloc_count;
> + n_free += socket_stats.free_count;
> + fprintf(f,
> + "Socket %u: size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
> + i,
> + socket_stats.heap_totalsz_bytes / 1.0e6,
> + socket_stats.heap_allocsz_bytes / 1.0e6,
> + (double)socket_stats.heap_allocsz_bytes * 100 /
> + (double)socket_stats.heap_totalsz_bytes,
> + socket_stats.heap_freesz_bytes / 1.0e6,
> + socket_stats.alloc_count,
> + socket_stats.free_count);
This gives an output like [1], can you please divide to (1024*1024) to convert
byte to Mb, than it can give more clear numbers.
[1]
Socket 0: size(M) total: 2933.915648 alloc: 1871.655424(63.794%) free:
1062.260224 count alloc: 2137 free: 36
Socket 1: size(M) total: 2923.429888 alloc: 1863.400064(63.740%) free:
1060.029824 count alloc: 177 free: 1
Total : size(M) total: 5857.345536 alloc: 3735.055488(63.767%) free:
2122.290048 count alloc: 2314 free: 37
Memory total change: 0.000000(M), allocation change: 0.000000(M)
> + }
> + fprintf(f,
> + "Total : size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
> + total / 1.0e6, alloc / 1.0e6,
> + (double)alloc * 100 / (double)total, free / 1.0e6,
> + n_alloc, n_free);
> + if (last_allocs)
> + fprintf(stdout, "Memory total change: %.6lf(M), allocation change: %.6lf(M)\n",
> + (total - last_total) / 1.0e6,
> + (alloc - last_allocs) / 1.0e6);
> + last_allocs = alloc;
> + last_total = total;
> +}
> +
> static void cmd_dump_parsed(void *parsed_result,
> __attribute__((unused)) struct cmdline *cl,
> __attribute__((unused)) void *data)
> @@ -9576,6 +9625,8 @@ static void cmd_dump_parsed(void *parsed_result,
>
> if (!strcmp(res->dump, "dump_physmem"))
> rte_dump_physmem_layout(stdout);
> + else if (!strcmp(res->dump, "dump_socket"))
> + dump_socket_mem(stdout);
> else if (!strcmp(res->dump, "dump_memzone"))
> rte_memzone_dump(stdout);
> else if (!strcmp(res->dump, "dump_malloc")) {
> @@ -9604,6 +9655,7 @@ static void cmd_dump_parsed(void *parsed_result,
> TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
> "dump_physmem#"
> "dump_memzone#"
> + "dump_socket#"
> "dump_struct_sizes#"
> "dump_ring#"
> "dump_mempool#"
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 1a9879f..d248337 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -539,6 +539,12 @@ Dumps the layout of all memory zones::
>
> testpmd> dump_memzone
>
> +dump socket
> +~~~~~~~~~~~~
> +
> +Dumps the memory usage of all sockets::
> +
> + testpmd> dump_socket
'dump_socket' looks like it will list the socket information, what do you think
changing the command name to 'dump_socket_mem' to clarify it will dump the
memory information?
>
> dump struct size
> ~~~~~~~~~~~~~~~~
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-03 13:29 ` Ferruh Yigit
@ 2020-04-03 16:04 ` Stephen Hemminger
2020-04-03 16:08 ` Stephen Hemminger
1 sibling, 0 replies; 12+ messages in thread
From: Stephen Hemminger @ 2020-04-03 16:04 UTC (permalink / raw)
To: Ferruh Yigit
Cc: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger,
Anatoly Burakov, dev, Asaf Penso
On Fri, 3 Apr 2020 14:29:06 +0100
Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> > + int64_t total = 0;
> > + int64_t alloc = 0;
> > + int64_t free = 0;
Should be unsigned (ie uint64_t)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-03 13:29 ` Ferruh Yigit
2020-04-03 16:04 ` Stephen Hemminger
@ 2020-04-03 16:08 ` Stephen Hemminger
2020-04-03 16:34 ` Morten Brørup
1 sibling, 1 reply; 12+ messages in thread
From: Stephen Hemminger @ 2020-04-03 16:08 UTC (permalink / raw)
To: Ferruh Yigit
Cc: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger,
Anatoly Burakov, dev, Asaf Penso
On Fri, 3 Apr 2020 14:29:06 +0100
Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> > + socket_stats.heap_totalsz_bytes / 1.0e6,
> > + socket_stats.heap_allocsz_bytes / 1.0e6,
> > + (double)socket_stats.heap_allocsz_bytes * 100 /
> > + (double)socket_stats.heap_totalsz_bytes,
> > + socket_stats.heap_freesz_bytes / 1.0e6,
> > + socket_stats.alloc_count,
> > + socket_stats.free_count);
>
> This gives an output like [1], can you please divide to (1024*1024) to convert
> byte to Mb, than it can give more clear numbers.
Agree, the standard is to use 1024*1024 for memory megabytes.
And 1000*1000 for bytes in networking.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v1] app/testpmd: add memory dump command
2020-04-03 16:08 ` Stephen Hemminger
@ 2020-04-03 16:34 ` Morten Brørup
0 siblings, 0 replies; 12+ messages in thread
From: Morten Brørup @ 2020-04-03 16:34 UTC (permalink / raw)
To: Stephen Hemminger, Ferruh Yigit
Cc: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger,
Anatoly Burakov, dev, Asaf Penso
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stephen Hemminger
> Sent: Friday, April 3, 2020 6:09 PM
>
> On Fri, 3 Apr 2020 14:29:06 +0100
> Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> > > + socket_stats.heap_totalsz_bytes / 1.0e6,
> > > + socket_stats.heap_allocsz_bytes / 1.0e6,
> > > + (double)socket_stats.heap_allocsz_bytes * 100 /
> > > + (double)socket_stats.heap_totalsz_bytes,
> > > + socket_stats.heap_freesz_bytes / 1.0e6,
> > > + socket_stats.alloc_count,
> > > + socket_stats.free_count);
> >
> > This gives an output like [1], can you please divide to (1024*1024)
> to convert
> > byte to Mb, than it can give more clear numbers.
>
> Agree, the standard is to use 1024*1024 for memory megabytes.
That was the old standard. It has been 1000*1000 so for a decade now.
1000000 is the internationally agreed standard for the MB (megabyte) unit. It has been adopted by all major standardization organs, and is the legally binding definition.
If you want to use 1024*1024, the correct unit is MiB (mebibyte). And in this case, it probably makes sense. Just use the correct MiB unit instead of the incorrect MB unit.
For further information, please also refer to:
https://en.wikipedia.org/wiki/Megabyte
> And 1000*1000 for bytes in networking.
Yes.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2] app/testpmd: add memory dump command
2020-04-02 13:03 [dpdk-dev] [PATCH] app/testpmd: add memory dump command Xueming Li
` (2 preceding siblings ...)
2020-04-03 6:53 ` Xueming Li
@ 2020-04-05 2:49 ` Xueming Li
2020-04-05 2:49 ` Xueming Li
4 siblings, 0 replies; 12+ messages in thread
From: Xueming Li @ 2020-04-05 2:49 UTC (permalink / raw)
To: Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov,
Ferruh Yigit, Stephen Hemminger
Cc: dev, Asaf Penso
v0: initial version
v1: update user guide
v2: change CLI to "dump_socket_mem
change memory unit MB caculation from 1e6 to 1024*1024
Xueming Li (1):
app/testpmd: add memory dump command
app/test-pmd/cmdline.c | 53 +++++++++++++++++++++++++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 ++++
2 files changed, 59 insertions(+)
--
1.8.3.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2] app/testpmd: add memory dump command
2020-04-02 13:03 [dpdk-dev] [PATCH] app/testpmd: add memory dump command Xueming Li
` (3 preceding siblings ...)
2020-04-05 2:49 ` [dpdk-dev] [PATCH v2] " Xueming Li
@ 2020-04-05 2:49 ` Xueming Li
2020-04-07 9:21 ` Ferruh Yigit
4 siblings, 1 reply; 12+ messages in thread
From: Xueming Li @ 2020-04-05 2:49 UTC (permalink / raw)
To: Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Anatoly Burakov,
Ferruh Yigit, Stephen Hemminger
Cc: dev, Asaf Penso
Introduce new command to dump memory statistics of each socket,
summary, also show changes since last call.
Usage:
dump_socket_mem
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
---
app/test-pmd/cmdline.c | 53 +++++++++++++++++++++++++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 ++++
2 files changed, 59 insertions(+)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 274e391..f7a230b 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -9568,6 +9568,56 @@ struct cmd_dump_result {
#undef DUMP_SIZE
}
+
+/* Dump the socket memory statistics on console */
+static void
+dump_socket_mem(FILE *f)
+{
+ struct rte_malloc_socket_stats socket_stats;
+ unsigned int i;
+ size_t total = 0;
+ size_t alloc = 0;
+ size_t free = 0;
+ unsigned int n_alloc = 0;
+ unsigned int n_free = 0;
+ static size_t last_allocs;
+ static size_t last_total;
+
+
+ for (i = 0; i < RTE_MAX_NUMA_NODES; i++) {
+ if (rte_malloc_get_socket_stats(i, &socket_stats) ||
+ !socket_stats.heap_totalsz_bytes)
+ continue;
+ total += socket_stats.heap_totalsz_bytes;
+ alloc += socket_stats.heap_allocsz_bytes;
+ free += socket_stats.heap_freesz_bytes;
+ n_alloc += socket_stats.alloc_count;
+ n_free += socket_stats.free_count;
+ fprintf(f,
+ "Socket %u: size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+ i,
+ (double)socket_stats.heap_totalsz_bytes / (1024 * 1024),
+ (double)socket_stats.heap_allocsz_bytes / (1024 * 1024),
+ (double)socket_stats.heap_allocsz_bytes * 100 /
+ (double)socket_stats.heap_totalsz_bytes,
+ (double)socket_stats.heap_freesz_bytes / (1024 * 1024),
+ socket_stats.alloc_count,
+ socket_stats.free_count);
+ }
+ fprintf(f,
+ "Total : size(M) total: %.6lf alloc: %.6lf(%.3lf%%) free: %.6lf \tcount alloc: %-4u free: %u\n",
+ (double)total / (1024 * 1024), (double)alloc / (1024 * 1024),
+ (double)alloc * 100 / (double)total,
+ (double)free / (1024 * 1024),
+ n_alloc, n_free);
+ if (last_allocs)
+ fprintf(stdout, "Memory total change: %.6lf(M), allocation change: %.6lf(M)\n",
+ ((double)total - (double)last_total) / (1024 * 1024),
+ (double)(alloc - (double)last_allocs) / 1024 /1024);
+ last_allocs = alloc;
+ last_total = total;
+}
+
static void cmd_dump_parsed(void *parsed_result,
__attribute__((unused)) struct cmdline *cl,
__attribute__((unused)) void *data)
@@ -9576,6 +9626,8 @@ static void cmd_dump_parsed(void *parsed_result,
if (!strcmp(res->dump, "dump_physmem"))
rte_dump_physmem_layout(stdout);
+ else if (!strcmp(res->dump, "dump_socket_mem"))
+ dump_socket_mem(stdout);
else if (!strcmp(res->dump, "dump_memzone"))
rte_memzone_dump(stdout);
else if (!strcmp(res->dump, "dump_malloc")) {
@@ -9604,6 +9656,7 @@ static void cmd_dump_parsed(void *parsed_result,
TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
"dump_physmem#"
"dump_memzone#"
+ "dump_socket_mem#"
"dump_struct_sizes#"
"dump_ring#"
"dump_mempool#"
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 1a9879f..0942ae5 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -539,6 +539,12 @@ Dumps the layout of all memory zones::
testpmd> dump_memzone
+dump socket
+~~~~~~~~~~~~
+
+Dumps the memory usage of all sockets::
+
+ testpmd> dump_socket_mem
dump struct size
~~~~~~~~~~~~~~~~
--
1.8.3.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v2] app/testpmd: add memory dump command
2020-04-05 2:49 ` Xueming Li
@ 2020-04-07 9:21 ` Ferruh Yigit
2020-04-07 11:24 ` Xueming(Steven) Li
0 siblings, 1 reply; 12+ messages in thread
From: Ferruh Yigit @ 2020-04-07 9:21 UTC (permalink / raw)
To: Xueming Li, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger,
Anatoly Burakov, Stephen Hemminger
Cc: dev, Asaf Penso
On 4/5/2020 3:49 AM, Xueming Li wrote:
> Introduce new command to dump memory statistics of each socket,
> summary, also show changes since last call.
>
> Usage:
> dump_socket_mem
>
> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
<...>
> @@ -9576,6 +9626,8 @@ static void cmd_dump_parsed(void *parsed_result,
>
> if (!strcmp(res->dump, "dump_physmem"))
> rte_dump_physmem_layout(stdout);
> + else if (!strcmp(res->dump, "dump_socket_mem"))
> + dump_socket_mem(stdout);
> else if (!strcmp(res->dump, "dump_memzone"))
> rte_memzone_dump(stdout);
> else if (!strcmp(res->dump, "dump_malloc")) {
This "dump_malloc" is not in the upstream, which cause a conflict while merging
the patch, which is breaking our automated tests.
It is OK for now, but for later please rebase your patches on latest master.
> @@ -9604,6 +9656,7 @@ static void cmd_dump_parsed(void *parsed_result,
> TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
> "dump_physmem#"
> "dump_memzone#"
> + "dump_socket_mem#"
> "dump_struct_sizes#"
> "dump_ring#"
> "dump_mempool#"
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 1a9879f..0942ae5 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -539,6 +539,12 @@ Dumps the layout of all memory zones::
>
> testpmd> dump_memzone
>
> +dump socket
> +~~~~~~~~~~~~
Title fixed as "dump socket memory" while merging
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied to dpdk-next-net/master, thanks.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v2] app/testpmd: add memory dump command
2020-04-07 9:21 ` Ferruh Yigit
@ 2020-04-07 11:24 ` Xueming(Steven) Li
0 siblings, 0 replies; 12+ messages in thread
From: Xueming(Steven) Li @ 2020-04-07 11:24 UTC (permalink / raw)
To: Ferruh Yigit, Wenzhuo Lu, Jingjing Wu, Bernard Iremonger,
Anatoly Burakov, Stephen Hemminger
Cc: dev, Asaf Penso
Hi Ferruh,
Thanks for your comments, noted.
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, April 7, 2020 5:22 PM
> To: Xueming(Steven) Li <xuemingl@mellanox.com>; Wenzhuo Lu
> <wenzhuo.lu@intel.com>; Jingjing Wu <jingjing.wu@intel.com>; Bernard
> Iremonger <bernard.iremonger@intel.com>; Anatoly Burakov
> <anatoly.burakov@intel.com>; Stephen Hemminger
> <stephen@networkplumber.org>
> Cc: dev@dpdk.org; Asaf Penso <asafp@mellanox.com>
> Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: add memory dump
> command
>
> On 4/5/2020 3:49 AM, Xueming Li wrote:
> > Introduce new command to dump memory statistics of each socket,
> > summary, also show changes since last call.
> >
> > Usage:
> > dump_socket_mem
> >
> > Signed-off-by: Xueming Li <xuemingl@mellanox.com>
>
> <...>
>
> > @@ -9576,6 +9626,8 @@ static void cmd_dump_parsed(void *parsed_result,
> >
> > if (!strcmp(res->dump, "dump_physmem"))
> > rte_dump_physmem_layout(stdout);
> > + else if (!strcmp(res->dump, "dump_socket_mem"))
> > + dump_socket_mem(stdout);
> > else if (!strcmp(res->dump, "dump_memzone"))
> > rte_memzone_dump(stdout);
> > else if (!strcmp(res->dump, "dump_malloc")) {
>
> This "dump_malloc" is not in the upstream, which cause a conflict while
> merging the patch, which is breaking our automated tests.
> It is OK for now, but for later please rebase your patches on latest master.
>
> > @@ -9604,6 +9656,7 @@ static void cmd_dump_parsed(void *parsed_result,
> > TOKEN_STRING_INITIALIZER(struct cmd_dump_result, dump,
> > "dump_physmem#"
> > "dump_memzone#"
> > + "dump_socket_mem#"
> > "dump_struct_sizes#"
> > "dump_ring#"
> > "dump_mempool#"
> > diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> > b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> > index 1a9879f..0942ae5 100644
> > --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> > +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> > @@ -539,6 +539,12 @@ Dumps the layout of all memory zones::
> >
> > testpmd> dump_memzone
> >
> > +dump socket
> > +~~~~~~~~~~~~
>
> Title fixed as "dump socket memory" while merging
>
>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied to dpdk-next-
> net/master, thanks.
^ permalink raw reply [flat|nested] 12+ messages in thread