[v12,00/22] Covert static log types in libraries to dynamic
Message ID | 20230329234049.11071-1-stephen@networkplumber.org (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 69D1A42868; Thu, 30 Mar 2023 01:40:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EC6AA40E5A; Thu, 30 Mar 2023 01:40:53 +0200 (CEST) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mails.dpdk.org (Postfix) with ESMTP id 1867B40685 for <dev@dpdk.org>; Thu, 30 Mar 2023 01:40:53 +0200 (CEST) Received: by mail-pl1-f172.google.com with SMTP id kq3so16449638plb.13 for <dev@dpdk.org>; Wed, 29 Mar 2023 16:40:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; t=1680133252; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kSYD5F6WyXr5jpNDU5+YuXzgIfXQ1X1W0sxf0GyjNuE=; b=BEOXm8MhejVb6+AlI9NDqxWFJ91Ti7Sf4ckSuN5V4c9TRQkrj8g8sBjIn79lylNii+ f1dCTnARSrt59LEBNiFGtDMim5QgQVJBJ3R0lO2MC3tbPirqO6CjkJPXWBVu/i6BZKVY 0Y2PUkCOkCdILlW+jaOcyxzDaXbhHVI17RrxjnApDAUmdKiQDHY8EsE5d6s5f+RKwZb/ q43+VLvEr5ZpSgNaRMt4UewUlI9Oi6nPjtBLlF5hmH3BZ8Qy3gpb8CRia0I4B5sXq2s6 bWUAFvV1dzhsF3aCHR7pKJiskZTokexLlt37FN60hOIsT1LeNgM4T258g7oq7ZTxvZiU NTZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680133252; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kSYD5F6WyXr5jpNDU5+YuXzgIfXQ1X1W0sxf0GyjNuE=; b=proh86U7+gJhx+UaeOXA68IoAQ8yEGvCnDfSgkJlO8qBex72PXSOE5Do4f7d4z1irJ u75Q6kE9HU4uC0/bZ1xPbf3OyV3REB0jaGufV718Gyxemc5KUrUo/m4imwwoby1ZjOZQ GuqLf+zekMWmdsxPB0a0jK1leNnzcsz3uZQqo8tOokeomhZjZ0/H1+g2FlahEADc3uik As6Cwn7cvTmIut0w1xix8mSgTVlyk/ZSYjX+ewXYdA3/HL/zF1iUDiajmfMlLT57Ux8G Os+/TS7RsDIjgM1kZFeO0B38gIBKGmjOpQwaq6qLPhsraWhB7KGii9ijpdLYOzZsoX70 /4+A== X-Gm-Message-State: AAQBX9eTiJnndWCfSzfNDHH8nchUxVwOl+mpdV4azxYRu2prEs1wmipx 0Xyf3PVaXtynrEs6oMEK3ppiq/eiRbWw+y2Xm+4pfQ== X-Google-Smtp-Source: AKy350YSVWqVbPVGcYm0NEHb4bF6wN4466ufb6SBvo7oNjdHgh0Iv4m3fzjhjVhAc8OcHs+ogOcvUg== X-Received: by 2002:a17:902:da82:b0:1a1:a996:feb3 with SMTP id j2-20020a170902da8200b001a1a996feb3mr28379514plx.26.1680133251666; Wed, 29 Mar 2023 16:40:51 -0700 (PDT) Received: from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218]) by smtp.gmail.com with ESMTPSA id f10-20020a17090274ca00b0019c2b1c4db1sm23360095plt.239.2023.03.29.16.40.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Mar 2023 16:40:50 -0700 (PDT) From: Stephen Hemminger <stephen@networkplumber.org> To: dev@dpdk.org Cc: Stephen Hemminger <stephen@networkplumber.org> Subject: [PATCH v12 00/22] Covert static log types in libraries to dynamic Date: Wed, 29 Mar 2023 16:40:27 -0700 Message-Id: <20230329234049.11071-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Message
Stephen Hemminger
March 29, 2023, 11:40 p.m. UTC
This patchset removes the main 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. Note: there is one patch in this series that will get flagged incorrectly as an ABI change. 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 (22): 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 kni: convert RTE_LOGTYPE_KNI to dynamic type sched: convert RTE_LOGTYPE_SCHED to dynamic type examples/ipsec-secgw: replace RTE_LOGTYPE_PORT port: convert RTE_LOGTYPE_PORT to dynamic type hash: move rte_thash_gfni stubs out of header file hash: move rte_hash_set_alg out header hash: convert RTE_LOGTYPE_HASH to dynamic type table: convert RTE_LOGTYPE_TABLE to dynamic type app/test: remove use of RTE_LOGTYPE_PIPELINE pipeline: convert RTE_LOGTYPE_PIPELINE to dynamic type app/test/test_acl.c | 3 +- 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_bld.c | 1 + lib/acl/acl_gen.c | 1 + lib/acl/acl_log.h | 4 ++ lib/acl/rte_acl.c | 4 ++ lib/acl/tb_mem.c | 3 +- lib/eal/common/eal_common_log.c | 17 --------- lib/eal/include/rte_log.h | 34 ++++++++--------- 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 | 30 +++++---------- lib/hash/version.map | 11 ++++++ lib/kni/rte_kni.c | 3 ++ 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/pipeline/rte_pipeline.c | 2 + lib/pipeline/rte_pipeline.h | 5 +++ lib/port/rte_port_ethdev.c | 3 ++ lib/port/rte_port_eventdev.c | 4 ++ lib/port/rte_port_fd.c | 3 ++ lib/port/rte_port_frag.c | 3 ++ lib/port/rte_port_kni.c | 3 ++ lib/port/rte_port_ras.c | 3 ++ lib/port/rte_port_ring.c | 3 ++ lib/port/rte_port_sched.c | 3 ++ lib/port/rte_port_source_sink.c | 3 ++ lib/port/rte_port_sym_crypto.c | 3 ++ lib/power/guest_channel.c | 3 +- lib/power/power_common.c | 2 + lib/power/power_common.h | 3 +- lib/power/power_kvm_vm.c | 1 + lib/power/rte_power.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 ++ lib/table/meson.build | 1 + lib/table/rte_table.c | 8 ++++ lib/table/rte_table.h | 4 ++ 68 files changed, 391 insertions(+), 176 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 create mode 100644 lib/table/rte_table.c
Comments
On Mon, Aug 21, 2023 at 6:09 PM Stephen Hemminger <stephen@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. > > Note: there is one patch in this series that will get > flagged incorrectly as an ABI change. > > 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 (21): > 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 > port: convert RTE_LOGTYPE_PORT to dynamic type > hash: move rte_thash_gfni stubs out of header file > hash: move rte_hash_set_alg out header > hash: convert RTE_LOGTYPE_HASH to dynamic type > table: convert RTE_LOGTYPE_TABLE to dynamic type > app/test: remove use of RTE_LOGTYPE_PIPELINE > pipeline: convert RTE_LOGTYPE_PIPELINE to dynamic type > This series needs some rebase. Thanks.
On Tue, Dec 5, 2023 at 3:13 AM Stephen Hemminger <stephen@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.