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@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
On 24/06/2020 10:36, Thomas Monjalon wrote:
> 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@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;
>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
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@monjalon.net> Acked-by: Ray Kinsella <mdr@ashroe.eu> --- The deprecation notice for this removal has been missed. I assume it would not hurt anybody to remove this useless function from DPDK 20.11. Asking the Technical Board for confirmation. --- 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 f377ab8e87..c0b83e9554 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -184,6 +184,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 <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 c32461c663..cd1a90b95f 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.28.0
On Mon, Sep 28, 2020 at 02:00:48AM +0200, Thomas Monjalon wrote:
> 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@monjalon.net>
> Acked-by: Ray Kinsella <mdr@ashroe.eu>
> ---
> The deprecation notice for this removal has been missed.
> I assume it would not hurt anybody to remove this useless function
> from DPDK 20.11. Asking the Technical Board for confirmation.
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 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@monjalon.net> > Acked-by: Ray Kinsella <mdr@ashroe.eu> > --- > The deprecation notice for this removal has been missed. > I assume it would not hurt anybody to remove this useless function > from DPDK 20.11. Asking the Technical Board for confirmation. > --- > 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 f377ab8e87..c0b83e9554 100644 > --- a/doc/guides/rel_notes/release_20_11.rst > +++ b/doc/guides/rel_notes/release_20_11.rst > @@ -184,6 +184,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 <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 c32461c663..cd1a90b95f 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; > -- Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> > 2.28.0
On 28/09/2020 01:00, Thomas Monjalon wrote: > 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@monjalon.net> > Acked-by: Ray Kinsella <mdr@ashroe.eu> > --- > The deprecation notice for this removal has been missed. > I assume it would not hurt anybody to remove this useless function > from DPDK 20.11. Asking the Technical Board for confirmation. > --- Acked-by: Kevin Traynor <ktraynor@redhat.com> > 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 f377ab8e87..c0b83e9554 100644 > --- a/doc/guides/rel_notes/release_20_11.rst > +++ b/doc/guides/rel_notes/release_20_11.rst > @@ -184,6 +184,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 <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 c32461c663..cd1a90b95f 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; >
On Mon, Sep 28, 2020 at 2:01 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 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@monjalon.net>
> Acked-by: Ray Kinsella <mdr@ashroe.eu>
> ---
> The deprecation notice for this removal has been missed.
> I assume it would not hurt anybody to remove this useless function
> from DPDK 20.11. Asking the Technical Board for confirmation.
> ---
> 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 f377ab8e87..c0b83e9554 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -184,6 +184,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 <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 c32461c663..cd1a90b95f 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.28.0
>
Acked-by: David Marchand <david.marchand@redhat.com>
--
David Marchand
On Mon, Sep 28, 2020 at 2:01 AM Thomas Monjalon <thomas@monjalon.net> wrote: > 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@monjalon.net> TB acks: Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> "Normal" acks: Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: David Marchand <david.marchand@redhat.com> > --- > The deprecation notice for this removal has been missed. > I assume it would not hurt anybody to remove this useless function > from DPDK 20.11. Asking the Technical Board for confirmation. > --- We have 3 acks from the TB. I think this is enough, as we had neither comment nor objection against this series. Any last objection? -- David Marchand
On Mon, Oct 12, 2020 at 7:39 PM David Marchand
<david.marchand@redhat.com> wrote:
> On Mon, Sep 28, 2020 at 2:01 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> > 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@monjalon.net>
>
> Acked-by: Ray Kinsella <mdr@ashroe.eu>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Acked-by: Kevin Traynor <ktraynor@redhat.com>
> Acked-by: David Marchand <david.marchand@redhat.com>
No objection for the two weeks that this patch has been raised to TB attention.
3 acks from TB members.
I see no point in waiting more.
Applied.
--
David Marchand