[PATCH v2 0/9] Standardize telemetry int types
Bruce Richardson
bruce.richardson at intel.com
Thu Jan 12 11:58:54 CET 2023
Rather than having 64-bit unsigned types and 32-bit signed types
supported by the telemetry lib, we should support 64-bit values
for both types. On the naming side, since both are 64-bit, we
should no longer call the unsigned value u64 - "uint" is better.
This patchset implements these changes as far as is possible while
still keeping API and ABI compatibility.
* Internal structures and functions are updated to use 64-bit ints
* Internal functions are renamed from u64 to uint
* Public enum values are renamed from u64 to uint, and a macro is
added to ensure that older code still compiles
* The public add_*_int functions are changed to take a 64-bit value
rather than a 32-bit one. Since this would be an ABI break, we
use function versioning to ensure older code still calls into
a wrapper function which takes a 32-bit value.
The patchset also contains a couple of other small cleanups to the
telemetry code that were seen in passing when making these changes -
removing RTE_ prefix on internal enums, and simplifying the init of the
the array of data types.
NOTE: the renaming of the u64 functions to uint is split across 3
patches in this set - patches 4,5 and 6. This is to make it easier to
review and to avoid warnings about new functions not being marked
initially as experimental. Some/all of these 3 can be combined on merge
if so desired.
V2:
- added additional patches to replace the old function calls within DPDK
code, something missed in RFC version
- added new patch to make the renamed/new functions immediately public
allowing us to mark the original named versions as deprecated
- re-ordered patches within the sit, so the extra cleanup changes come
first
Bruce Richardson (9):
telemetry: remove RTE prefix from internal enum values
telemetry: make array initialization more robust
telemetry: rename unsigned 64-bit enum value to uint
telemetry: add uint type as alias for u64
global: rename telemetry functions to newer versions
telemetry: mark old names of renamed fns as deprecated
telemetry: update json functions to use int/uint in names
telemetry: make internal int representation 64-bits
telemetry: change public API to use 64-bit signed values
app/test/test_telemetry_data.c | 22 ++---
app/test/test_telemetry_json.c | 9 +-
doc/guides/rel_notes/deprecation.rst | 5 ++
drivers/common/cnxk/roc_platform.h | 2 +-
drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c | 24 ++---
drivers/net/cnxk/cnxk_ethdev_telemetry.c | 6 +-
examples/ipsec-secgw/ipsec-secgw.c | 72 +++++++--------
examples/l3fwd-power/main.c | 4 +-
lib/cryptodev/rte_cryptodev.c | 6 +-
lib/dmadev/rte_dmadev.c | 2 +-
lib/eal/common/eal_common_memory.c | 19 ++--
lib/ethdev/rte_ethdev.c | 12 +--
lib/ethdev/sff_telemetry.c | 2 +-
lib/eventdev/rte_event_eth_rx_adapter.c | 22 ++---
lib/eventdev/rte_event_timer_adapter.c | 38 ++++----
lib/eventdev/rte_eventdev.c | 5 +-
lib/ipsec/ipsec_telemetry.c | 32 +++----
lib/rawdev/rte_rawdev.c | 4 +-
lib/security/rte_security.c | 8 +-
lib/telemetry/meson.build | 1 +
lib/telemetry/rte_telemetry.h | 51 +++++++++--
lib/telemetry/telemetry.c | 56 ++++++------
lib/telemetry/telemetry_data.c | 95 ++++++++++++++------
lib/telemetry/telemetry_data.h | 24 +++--
lib/telemetry/telemetry_json.h | 16 ++--
lib/telemetry/version.map | 9 ++
26 files changed, 323 insertions(+), 223 deletions(-)
--
2.37.2
More information about the dev
mailing list