[PATCH v7 0/7] add mbuf debug capabilities

Thomas Monjalon thomas at monjalon.net
Thu Oct 16 22:34:38 CEST 2025


History is added to mbuf for debugging.

This series set some marks in mbuf allocation/freeing and ethdev Rx/Tx.
More marks could be added in other libraries.
Drivers could benefit a finer debugging by marking alloc/free calls,
in addition to marks already done in the mbuf library.
Even better, the application could add its own marks.

As part of this series, mbuf statistics can be dumped,
and a Python script will help to parse mbuf history.

---

v7 changes:
- loop for sum of allocated mbufs
- remove unused Python import

v6 changes:
- simplify testpmd commands
- use enum op type
- rename Tx ops
- mark free before freeing
- mark out of sanity check loop

v5 change:
- fix MSVC build in testpmd

v4 changes:
- fix/rewrite testpmd commands
- fix python script
- fix thread safety
- fix checks
- fix logs
- change config (no Meson option)
- add documentation

v3 changes:
- use atomic
- fix prefix
- add asserts
- reformat dump
- remove #ifdef clutter
- remove mlx5 patch

v2 changes:
- move to mbuf in dynamic field

v1:
- mempool feature

---

Shani Peretz (3):
  mbuf: record mbuf operations history
  ethdev: mark mbufs in burst functions
  usertools/mbuf: parse mbuf history dump

Thomas Monjalon (4):
  doc: explain debug options in mbuf guide
  mbuf: move header include for logs
  app/testpmd: use space separator in dump commands
  app/testpmd: add commands to dump mbuf history

 app/test-pmd/cmdline.c                      | 309 ++++++++++++++------
 config/rte_config.h                         |   1 +
 doc/guides/howto/debug_troubleshoot.rst     |   7 +
 doc/guides/prog_guide/mbuf_lib.rst          |  18 +-
 doc/guides/rel_notes/release_25_11.rst      |   7 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  33 ++-
 lib/ethdev/rte_ethdev.h                     |  11 +
 lib/mbuf/mbuf_history.c                     | 223 ++++++++++++++
 lib/mbuf/mbuf_log.h                         |   2 +
 lib/mbuf/meson.build                        |   2 +
 lib/mbuf/rte_mbuf.c                         |   5 +-
 lib/mbuf/rte_mbuf.h                         |  15 +-
 lib/mbuf/rte_mbuf_dyn.h                     |  18 ++
 lib/mbuf/rte_mbuf_history.h                 | 207 +++++++++++++
 usertools/dpdk-mbuf-history-parser.py       | 165 +++++++++++
 15 files changed, 917 insertions(+), 106 deletions(-)
 create mode 100644 lib/mbuf/mbuf_history.c
 create mode 100644 lib/mbuf/rte_mbuf_history.h
 create mode 100755 usertools/dpdk-mbuf-history-parser.py

-- 
2.51.0



More information about the dev mailing list