On Mon, 2 Feb 2026 at 06:25, <[email protected]> wrote: > > From: Scott Mitchell <[email protected]> > > RTE_PTR_ADD and RTE_PTR_SUB APIs have a few limitations: > 1. ptr cast to uintptr_t drops pointer provenance and > prevents compiler optimizations > 2. return cast discards qualifiers (const, volatile) > which may hide correctness/concurrency issues. > 3. Accepts both "pointers" and "integers as pointers" which > overloads the use case and constrains the implementation > to address other challenges. > > This patch splits the API on two dimensions: > 1. pointer types > 2. integer types that represent pointers > > This split allows addressing each of the challenges above > and provides distinct APIs for the distinct use cases. > Examples: > 1. Clang is able to optimize and improve __rte_raw_cksum > (which uses RTE_PTR_ADD) by ~40% (100 bytes) to ~8x (1.5k bytes) > TSC cycles/byte. > 2. Refactoring discovered cases that dropped qualifiers (volatile) > that the new API exposes. > > Signed-off-by: Scott Mitchell <[email protected]> > --- > app/test-pmd/cmdline_flow.c | 4 +- > app/test/meson.build | 1 + > app/test/test_common.c | 20 +- > app/test/test_ptr_add_sub.c | 199 +++++++++++++++++
Do we *need* a new file for testing new macros? So far, everything went to test_common.c. -- David Marchand

