DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC 0/3] Detect superfluous newline in logs
@ 2023-11-17 13:18 David Marchand
  2023-11-17 13:18 ` [RFC 1/3] lib: remove redundant newline from logs David Marchand
                   ` (8 more replies)
  0 siblings, 9 replies; 122+ messages in thread
From: David Marchand @ 2023-11-17 13:18 UTC (permalink / raw)
  To: dev; +Cc: thomas, ferruh.yigit, bruce.richardson, stephen

Getting readable and consistent logs is important when running a DPDK
application, especially when troubleshooting.
A common issue with logs is when a DPDK change do not add (or on the
contrary add too many \n) in the format string.

This issue would only get noticed when actually hitting this log (which
may be something difficult to do).

This series proposes to introduce a new RTE_LOG helper that is
responsible for logging a one line message and spews a build error (with
gcc) if any \n is part of the format string.


Note:
- the first patch is intentionnally sent as a single block: splitting it
  into per library commits with correct Fixes: tags is a tedious work.
  I would split it for a non RFC series. For now, it is enough to show
  case the idea.
- the last patch shows how an existing log macro is converted,


-- 
David Marchand

David Marchand (3):
  lib: remove redundant newline from logs
  log: add a per line log helper
  lib: use per line logging

 drivers/crypto/ipsec_mb/ipsec_mb_ops.c     |   2 +-
 lib/bbdev/rte_bbdev.c                      |   9 +-
 lib/cfgfile/rte_cfgfile.c                  |  18 ++--
 lib/compressdev/rte_compressdev_internal.h |   5 +-
 lib/compressdev/rte_compressdev_pmd.c      |   4 +-
 lib/cryptodev/rte_cryptodev.c              |   5 +-
 lib/cryptodev/rte_cryptodev.h              |  16 ++--
 lib/dispatcher/rte_dispatcher.c            |  12 +--
 lib/dmadev/rte_dmadev.c                    |   8 +-
 lib/eventdev/eventdev_pmd.h                |  14 +--
 lib/eventdev/rte_event_crypto_adapter.c    |  12 +--
 lib/eventdev/rte_event_dma_adapter.c       |  18 ++--
 lib/eventdev/rte_event_eth_rx_adapter.c    |  30 +++---
 lib/eventdev/rte_event_eth_tx_adapter.c    |   2 +-
 lib/eventdev/rte_event_timer_adapter.c     |  21 +++--
 lib/eventdev/rte_eventdev.c                |  10 +-
 lib/gpudev/gpudev.c                        |   6 +-
 lib/graph/graph_private.h                  |   5 +-
 lib/log/rte_log.h                          |  21 +++++
 lib/metrics/rte_metrics_telemetry.c        |   6 +-
 lib/mldev/rte_mldev.c                      | 102 ++++++++++-----------
 lib/mldev/rte_mldev.h                      |   5 +-
 lib/net/rte_net_crc.c                      |  14 +--
 lib/node/ethdev_rx.c                       |   4 +-
 lib/node/ip4_lookup.c                      |   2 +-
 lib/node/ip6_lookup.c                      |   2 +-
 lib/node/kernel_rx.c                       |   8 +-
 lib/node/kernel_tx.c                       |   4 +-
 lib/node/node_private.h                    |   6 +-
 lib/rawdev/rte_rawdev_pmd.h                |   4 +-
 lib/rcu/rte_rcu_qsbr.c                     |   4 +-
 lib/rcu/rte_rcu_qsbr.h                     |  17 ++--
 lib/stack/rte_stack.c                      |   8 +-
 lib/stack/stack_pvt.h                      |   4 +-
 34 files changed, 220 insertions(+), 188 deletions(-)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 122+ messages in thread