[PATCH v2 0/2] rte_dump_stack: improvements

Stephen Hemminger stephen at networkplumber.org
Fri Apr 8 01:06:23 CEST 2022


On Thu, 7 Apr 2022 14:45:07 +0200
David Marchand <david.marchand at redhat.com> wrote:

> On Sat, Feb 12, 2022 at 7:44 PM Stephen Hemminger
> <stephen at networkplumber.org> wrote:
> >
> > This is update to earlier RFC. Add some more comments and changes
> > to have common code for Linux and FreeBSD
> >
> > Stephen Hemminger (2):
> >   eal_debug: do not use malloc in rte_dump_stack
> >   eal: common rte_dump_stack for both Linux and FreeBSD
> >
> >  lib/eal/freebsd/eal_debug.c | 43 ------------------------
> >  lib/eal/freebsd/meson.build |  1 -
> >  lib/eal/linux/eal_debug.c   | 43 ------------------------
> >  lib/eal/linux/meson.build   |  1 -
> >  lib/eal/unix/eal_debug.c    | 65 +++++++++++++++++++++++++++++++++++++
> >  lib/eal/unix/meson.build    |  5 +--
> >  6 files changed, 68 insertions(+), 90 deletions(-)
> >  delete mode 100644 lib/eal/freebsd/eal_debug.c
> >  delete mode 100644 lib/eal/linux/eal_debug.c
> >  create mode 100644 lib/eal/unix/eal_debug.c  
> 
> Strange to change only the Linux implementation as a first patch, then
> merge implementations in a second time effectively changing FreeBSD
> implementation in what is presented in commitlog as a factorisation
> cleanup.
> Please invert the patches.
> 
> Besides, the series does not compile on current main.
> It's probably a result of the header inclusion cleanup we had in
> v22.03, but I prefer you check.
> 
> 
> Thanks.


As I looked at it more, there was more there.
Turns out that printf and therefore rte_log() is not signal safe.
There is a version of backtrace_symbols_fd that just uses writev() on  glibc for Linux
so that is a better alternative, but format changes.

But the BSD version of backtrace_symbols_fd uses printf and is therefore not signal safe.
Not sure if that matters.


More information about the dev mailing list