[dpdk-dev] [PATCH 20.11] eal: simplify exit functions
Thomas Monjalon
thomas at monjalon.net
Wed Jun 24 11:36:26 CEST 2020
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 <thomas at monjalon.net>
---
Because the empty function rte_dump_registers is part of the ABI,
this change is planned for DPDK 20.11.
---
app/test/test_debug.c | 3 ---
config/common_base | 1 -
doc/guides/howto/debug_troubleshoot.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, 2 insertions(+), 29 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/config/common_base b/config/common_base
index c7d5c73215..42ad399b17 100644
--- a/config/common_base
+++ b/config/common_base
@@ -103,7 +103,6 @@ CONFIG_RTE_ENABLE_TRACE_FP=n
CONFIG_RTE_LOG_HISTORY=256
CONFIG_RTE_BACKTRACE=y
CONFIG_RTE_LIBEAL_USE_HPET=n
-CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
CONFIG_RTE_EAL_IGB_UIO=n
CONFIG_RTE_EAL_VFIO=n
CONFIG_RTE_MAX_VFIO_GROUPS=64
diff --git a/doc/guides/howto/debug_troubleshoot.rst b/doc/guides/howto/debug_troubleshoot.rst
index cef016b2fe..1ed8be5a04 100644
--- a/doc/guides/howto/debug_troubleshoot.rst
+++ b/doc/guides/howto/debug_troubleshoot.rst
@@ -313,7 +313,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/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 <rte_log.h>
#include <rte_debug.h>
-/* 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 196eef5afa..3f36e46b3b 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -37,7 +37,6 @@ DPDK_20.0 {
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.26.2
More information about the dev
mailing list