From 3cd73a1a1c4d99439a6883c37a4ba4b561325615 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Mon, 28 Sep 2020 02:00:48 +0200 Subject: [PATCH] eal: simplify exit functions The option RTE_EAL_ALWAYS_PANIC_ON_ERROR was off by default, and not customizable with meson. It is completely removed. The function rte_dump_registers is a trace of the bare metal support era, and was not supported in userland. It is completely removed. Signed-off-by: Thomas Monjalon Acked-by: Ray Kinsella Acked-by: Bruce Richardson Acked-by: Konstantin Ananyev Acked-by: Kevin Traynor Acked-by: David Marchand --- app/test/test_debug.c | 3 --- doc/guides/howto/debug_troubleshoot.rst | 2 +- doc/guides/rel_notes/release_20_11.rst | 2 ++ lib/librte_eal/common/eal_common_debug.c | 17 +---------------- lib/librte_eal/include/rte_debug.h | 7 ------- lib/librte_eal/rte_eal_version.map | 1 - 6 files changed, 4 insertions(+), 28 deletions(-) diff --git a/app/test/test_debug.c b/app/test/test_debug.c index 25eab97e2a..834a7386f5 100644 --- a/app/test/test_debug.c +++ b/app/test/test_debug.c @@ -66,13 +66,11 @@ test_exit_val(int exit_val) } wait(&status); printf("Child process status: %d\n", status); -#ifndef RTE_EAL_ALWAYS_PANIC_ON_ERROR if(!WIFEXITED(status) || WEXITSTATUS(status) != (uint8_t)exit_val){ printf("Child process terminated with incorrect status (expected = %d)!\n", exit_val); return -1; } -#endif return 0; } @@ -113,7 +111,6 @@ static int test_debug(void) { rte_dump_stack(); - rte_dump_registers(); if (test_panic() < 0) return -1; if (test_exit() < 0) diff --git a/doc/guides/howto/debug_troubleshoot.rst b/doc/guides/howto/debug_troubleshoot.rst index 5a46f5fba3..50bd32a8ef 100644 --- a/doc/guides/howto/debug_troubleshoot.rst +++ b/doc/guides/howto/debug_troubleshoot.rst @@ -314,7 +314,7 @@ Custom worker function :numref:`dtg_distributor_worker`. * For high-performance execution logic ensure running it on correct NUMA and non-master core. - * Analyze run logic with ``rte_dump_stack``, ``rte_dump_registers`` and + * Analyze run logic with ``rte_dump_stack`` and ``rte_memdump`` for more insights. * Make use of objdump to ensure opcode is matching to the desired state. diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 1f01775595..7616dc7f27 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -351,6 +351,8 @@ ABI Changes Also, make sure to start the actual text at the margin. ======================================================= +* eal: Removed the not implemented function ``rte_dump_registers()``. + * ``ethdev`` changes * Following device operation function pointers moved diff --git a/lib/librte_eal/common/eal_common_debug.c b/lib/librte_eal/common/eal_common_debug.c index 722468754d..15418e957f 100644 --- a/lib/librte_eal/common/eal_common_debug.c +++ b/lib/librte_eal/common/eal_common_debug.c @@ -7,14 +7,6 @@ #include #include -/* not implemented */ -void -rte_dump_registers(void) -{ - return; -} - -/* call abort(), it will generate a coredump if enabled */ void __rte_panic(const char *funcname, const char *format, ...) { @@ -25,8 +17,7 @@ __rte_panic(const char *funcname, const char *format, ...) rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap); va_end(ap); rte_dump_stack(); - rte_dump_registers(); - abort(); + abort(); /* generate a coredump if enabled */ } /* @@ -46,14 +37,8 @@ rte_exit(int exit_code, const char *format, ...) rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap); va_end(ap); -#ifndef RTE_EAL_ALWAYS_PANIC_ON_ERROR if (rte_eal_cleanup() != 0) RTE_LOG(CRIT, EAL, "EAL could not release all resources\n"); exit(exit_code); -#else - rte_dump_stack(); - rte_dump_registers(); - abort(); -#endif } diff --git a/lib/librte_eal/include/rte_debug.h b/lib/librte_eal/include/rte_debug.h index 50052c5a90..c4bc71ce28 100644 --- a/lib/librte_eal/include/rte_debug.h +++ b/lib/librte_eal/include/rte_debug.h @@ -26,13 +26,6 @@ extern "C" { */ void rte_dump_stack(void); -/** - * Dump the registers of the calling core to the console. - * - * Note: Not implemented in a userapp environment; use gdb instead. - */ -void rte_dump_registers(void); - /** * Provide notification of a critical non-recoverable error and terminate * execution abnormally. diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map index a93dea9fe6..f56de02d8f 100644 --- a/lib/librte_eal/rte_eal_version.map +++ b/lib/librte_eal/rte_eal_version.map @@ -38,7 +38,6 @@ DPDK_21 { rte_devargs_remove; rte_devargs_type_count; rte_dump_physmem_layout; - rte_dump_registers; rte_dump_stack; rte_dump_tailq; rte_eal_alarm_cancel; -- 2.20.1