[dpdk-dev] app/pdump: fix the memory leak by rte_service_init
Checks
Commit Message
When pdump is run multiple times against any primary application,
it consumes huge page memory by rte_service_init. This is not freed
at exit of application.
Invoking rte_service_finalize to free memory and prevent memory leak.
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
---
app/pdump/main.c | 3 +++
1 file changed, 3 insertions(+)
Comments
> From: Varghese, Vipin
> Sent: Wednesday, January 24, 2018 7:55 AM
> To: Van Haaren, Harry <harry.van.haaren@intel.com>; dev@dpdk.org
> Cc: Jain, Deepak K <deepak.k.jain@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>; stable@dpdk.org; Patel, Amol
> <amol.patel@intel.com>; Varghese, Vipin <vipin.varghese@intel.com>
> Subject: [PATCH] app/pdump: fix the memory leak by rte_service_init
>
> When pdump is run multiple times against any primary application,
> it consumes huge page memory by rte_service_init. This is not freed
> at exit of application.
>
> Invoking rte_service_finalize to free memory and prevent memory leak.
>
> Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Thanks Vipin.
Note that this fixes a hugepages memory leak that would otherwise
occur when a secondary process initializes EAL and then quits.
Note that this patch depends on the patch adding rte_service_finalize()
http://dpdk.org/dev/patchwork/patch/34555/
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
@@ -25,6 +25,7 @@
#include <rte_mempool.h>
#include <rte_ring.h>
#include <rte_pdump.h>
+#include <rte_service.h>
#define CMD_LINE_OPT_PDUMP "pdump"
#define PDUMP_PORT_ARG "port"
@@ -882,5 +883,7 @@ struct parse_val {
/* dump debug stats */
print_pdump_stats();
+ rte_service_finalize();
+
return 0;
}