This revision reworks the optional dynfield3 area around explicit no-copy
semantics.

The area remains managed by the dynamic mbuf field registry, but is only
used by fields registered with RTE_MBUF_DYNFIELD_F_NO_COPY.  Normal
fields, with flags set to 0, continue to use the existing copied dynamic
field storage and are prevented from overlapping dynfield3.  The generic
mbuf dynamic-field copy helper remains unchanged and copies only the
existing copied storage.

This keeps the registry benefits for consumers that need additional mbuf
metadata, while making the non-copy behavior explicit per field and
avoiding a build-wide dynfield3 copy policy.

Randy Tice (1):
  mbuf: add optional no-copy dynamic field storage

---
v3:
- Reserve dynfield3 only for fields registered with
  RTE_MBUF_DYNFIELD_F_NO_COPY.
- Keep flags=0 dynamic fields in existing copied dynamic-field storage.
- Prevent copied fields from overlapping or straddling dynfield3.
- Drop the mbuf_dynfield3_copy build option and avoid changing
  rte_mbuf_dynfield_copy().
- Widen dynamic-field allocator score storage to uint16_t.
- Disable mempool/octeontx when mbuf_dynfield3_size is non-zero.
- Add mbuf unit-test coverage for no-copy placement and copy behavior.
- Add devtools build coverage with mbuf_dynfield3_size enabled.
- Update programmer guide, release notes and commit rationale.

Validation:
- git diff --check HEAD~1..HEAD
- devtools/check-git-log.sh -n1
- devtools/checkpatches.sh -n1
- ninja -C build-v3-dynfield3
- build-v3-dynfield3/app/dpdk-test ... mbuf_autotest
- ninja -C build-generic

 app/test/test_mbuf.c                   | 72 ++++++++++++++++++++++++--
 config/meson.build                     |  5 ++
 devtools/test-meson-builds.sh          |  3 ++
 doc/guides/prog_guide/mbuf_lib.rst     |  9 ++++
 doc/guides/rel_notes/release_26_11.rst | 17 +++++-
 drivers/mempool/octeontx/meson.build   |  5 ++
 lib/mbuf/rte_mbuf_core.h               |  6 +++
 lib/mbuf/rte_mbuf_dyn.c                | 54 ++++++++++++++++---
 lib/mbuf/rte_mbuf_dyn.h                | 11 +++-
 meson_options.txt                      |  2 +
 10 files changed, 172 insertions(+), 12 deletions(-)

-- 
2.35.6

Reply via email to