[PATCH 00/18] Convert static log types in libraries to dynamic
David Marchand
david.marchand at redhat.com
Wed Dec 6 11:08:37 CET 2023
On Tue, Dec 5, 2023 at 3:13 AM Stephen Hemminger
<stephen at networkplumber.org> wrote:
>
> This patchset removes most of the uses of static LOGTYPE's in DPDK
> libraries. It starts with the easy one and goes on to the more complex ones.
>
> There are several options on how to treat the old static types:
> leave them there, mark as deprecated, or remove them.
> This version removes them since there is no guarantee in current
> DPDK policies that says they can't be removed.
Those logtypes were internal things that should not have been public
in the first place.
And switching to a dynamic logtype for external users (if any) is trivial.
>
> Note: there is one patch in this series that will get
> flagged incorrectly as an ABI change.
Adding such stable symbols is not a problem.
We can ignore this warning (which is there to force maintainers to
inspect such additions).
>
> v14 - rebase on 24.03-rc0
> skip port, table and pipeline libraries since lots of
> to be deprecated code.
>
> v13 - rebase because log now moved.
>
> v12 - rebase and add table and pipeline libraries
>
> v11 - fix include check on arm cross build
>
> v10 - add necessary rte_compat.h in thash_gfni stub for arm
>
> v9 - fix handling of crc32 alg in lib/hash.
> make it an internal global variable.
> fix gfni stubs for case where they are not used.
>
> Stephen Hemminger (18):
> gso: don't log message on non TCP/UDP
> eal: drop no longer used GSO logtype
> log: drop unused RTE_LOGTYPE_TIMER
> efd: convert RTE_LOGTYPE_EFD to dynamic type
> mbuf: convert RTE_LOGTYPE_MBUF to dynamic type
> acl: convert RTE_LOGTYPE_ACL to dynamic type
> examples/power: replace use of RTE_LOGTYPE_POWER
> examples/l3fwd-power: replace use of RTE_LOGTYPE_POWER
> power: convert RTE_LOGTYPE_POWER to dynamic type
> ring: convert RTE_LOGTYPE_RING to dynamic type
> mempool: convert RTE_LOGTYPE_MEMPOOL to dynamic type
> lpm: convert RTE_LOGTYPE_LPM to dynamic types
> sched: convert RTE_LOGTYPE_SCHED to dynamic type
> examples/ipsec-secgw: replace RTE_LOGTYPE_PORT
> app/test: remove use of RTE_LOGTYPE_PIPELINE
> hash: mover rte_thash_gfni stubs out of header file
> hash: move rte_hash_set_alg out of header file
> hash: convert RTE_LOGTYPE_HASH to dynamic type
>
> app/test/test_acl.c | 2 +-
> app/test/test_table_acl.c | 50 ++++++++++++-------------
> app/test/test_table_pipeline.c | 40 ++++++++++----------
> examples/distributor/main.c | 2 +-
> examples/ipsec-secgw/sa.c | 6 +--
> examples/l3fwd-power/main.c | 17 +++++----
> lib/acl/acl.h | 1 +
> lib/acl/acl_bld.c | 3 ++
> lib/acl/acl_gen.c | 1 +
> lib/acl/acl_log.h | 6 +++
> lib/acl/rte_acl.c | 3 ++
> lib/acl/tb_mem.c | 3 +-
> lib/efd/rte_efd.c | 4 ++
> lib/fib/fib_log.h | 4 ++
> lib/fib/rte_fib.c | 3 ++
> lib/fib/rte_fib6.c | 2 +
> lib/gso/rte_gso.c | 4 +-
> lib/gso/rte_gso.h | 1 +
> lib/hash/meson.build | 9 ++++-
> lib/hash/rte_crc_arm64.h | 8 ++--
> lib/hash/rte_crc_x86.h | 10 ++---
> lib/hash/rte_cuckoo_hash.c | 5 +++
> lib/hash/rte_fbk_hash.c | 5 +++
> lib/hash/rte_hash_crc.c | 68 ++++++++++++++++++++++++++++++++++
> lib/hash/rte_hash_crc.h | 48 ++----------------------
> lib/hash/rte_thash.c | 3 ++
> lib/hash/rte_thash_gfni.c | 50 +++++++++++++++++++++++++
> lib/hash/rte_thash_gfni.h | 23 +++---------
> lib/hash/version.map | 9 +++++
> lib/log/log.c | 13 -------
> lib/log/rte_log.h | 26 ++++++-------
> lib/lpm/lpm_log.h | 4 ++
> lib/lpm/rte_lpm.c | 3 ++
> lib/lpm/rte_lpm6.c | 1 +
> lib/mbuf/mbuf_log.h | 4 ++
> lib/mbuf/rte_mbuf.c | 4 ++
> lib/mbuf/rte_mbuf_dyn.c | 2 +
> lib/mbuf/rte_mbuf_pool_ops.c | 2 +
> lib/mempool/rte_mempool.c | 2 +
> lib/mempool/rte_mempool.h | 8 ++++
> lib/mempool/version.map | 3 ++
> lib/power/power_common.c | 2 +
> lib/power/power_common.h | 2 +
> lib/power/power_kvm_vm.c | 1 +
> lib/power/rte_power.c | 1 +
> lib/power/rte_power_uncore.c | 1 +
> lib/rib/rib_log.h | 4 ++
> lib/rib/rte_rib.c | 3 ++
> lib/rib/rte_rib6.c | 3 ++
> lib/ring/rte_ring.c | 3 ++
> lib/sched/rte_pie.c | 1 +
> lib/sched/rte_sched.c | 5 +++
> lib/sched/rte_sched_log.h | 4 ++
> 53 files changed, 329 insertions(+), 163 deletions(-)
> create mode 100644 lib/acl/acl_log.h
> create mode 100644 lib/fib/fib_log.h
> create mode 100644 lib/hash/rte_hash_crc.c
> create mode 100644 lib/hash/rte_thash_gfni.c
> create mode 100644 lib/lpm/lpm_log.h
> create mode 100644 lib/mbuf/mbuf_log.h
> create mode 100644 lib/rib/rib_log.h
> create mode 100644 lib/sched/rte_sched_log.h
I fixed a few issues:
- added a release note update for the gso patch,
- fixed some styling issues in meson updates,
- reordered some hunks and patches,
- dropped some whitespace damage and typos,
- dropped unneeded include of rte_compat.h,
- fixed indent,
- marked exported variables as stable (such variable is part of the
application ABI),
Series applied.
--
David Marchand
More information about the dev
mailing list