Message ID | 1698280314-25861-1-git-send-email-roretzla@linux.microsoft.com (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 0F6E143200; Thu, 26 Oct 2023 02:32:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0E025410D5; Thu, 26 Oct 2023 02:32:02 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 014184027F for <dev@dpdk.org>; Thu, 26 Oct 2023 02:31:59 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id 3A8C520B74C0; Wed, 25 Oct 2023 17:31:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3A8C520B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1698280319; bh=jPUDQgQ6jUpkNlznhoHv9QQHcbEpVKhiiBenpXyYCXA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kLKIAeHAqCE3wJTghk1Z3llFl0NpEQgKipN4Jjbat6NAbX8h+JRB17pHRdJN6LJDy Ng09Hnnf6X2cE0iRUh38dbyGiytwHfGJShpgzoKMm2xfoO+bXjpRdgI7LwVJUXIbC8 pB5X7FVWvEjz2a1mHa9rRvayMRnCs98ywdD7xXRU= From: Tyler Retzlaff <roretzla@linux.microsoft.com> To: dev@dpdk.org Cc: Akhil Goyal <gakhil@marvell.com>, Anatoly Burakov <anatoly.burakov@intel.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, Bruce Richardson <bruce.richardson@intel.com>, Chenbo Xia <chenbo.xia@intel.com>, Ciara Power <ciara.power@intel.com>, David Christensen <drc@linux.vnet.ibm.com>, David Hunt <david.hunt@intel.com>, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>, Dmitry Malloy <dmitrym@microsoft.com>, Elena Agostini <eagostini@nvidia.com>, Erik Gabriel Carrillo <erik.g.carrillo@intel.com>, Fan Zhang <fanzhang.oss@gmail.com>, Ferruh Yigit <ferruh.yigit@amd.com>, Harman Kalra <hkalra@marvell.com>, Harry van Haaren <harry.van.haaren@intel.com>, Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>, Jerin Jacob <jerinj@marvell.com>, Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>, Matan Azrad <matan@nvidia.com>, Maxime Coquelin <maxime.coquelin@redhat.com>, Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>, Nicolas Chautru <nicolas.chautru@intel.com>, Olivier Matz <olivier.matz@6wind.com>, Ori Kam <orika@nvidia.com>, Pallavi Kadam <pallavi.kadam@intel.com>, Pavan Nikhilesh <pbhagavatula@marvell.com>, Reshma Pattan <reshma.pattan@intel.com>, Sameh Gobriel <sameh.gobriel@intel.com>, Shijith Thotton <sthotton@marvell.com>, Sivaprasad Tummala <sivaprasad.tummala@amd.com>, Stephen Hemminger <stephen@networkplumber.org>, Suanming Mou <suanmingm@nvidia.com>, Sunil Kumar Kori <skori@marvell.com>, Thomas Monjalon <thomas@monjalon.net>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Vladimir Medvedkin <vladimir.medvedkin@intel.com>, Yipeng Wang <yipeng1.wang@intel.com>, Tyler Retzlaff <roretzla@linux.microsoft.com> Subject: [PATCH v3 00/19] use rte optional stdatomic API Date: Wed, 25 Oct 2023 17:31:35 -0700 Message-Id: <1698280314-25861-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1697497745-20664-1-git-send-email-roretzla@linux.microsoft.com> References: <1697497745-20664-1-git-send-email-roretzla@linux.microsoft.com> 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 |
Series |
use rte optional stdatomic API
|
|
Message
Tyler Retzlaff
Oct. 26, 2023, 12:31 a.m. UTC
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API. v3: * add missing atomic specification on head variable in struct rte_ring_headtail * adapt to use rte_atomic_xxx stdatomic API in rte_ring_c11_pvt.h * split comma operator statement into 2 statements v2: * add #include <rte_stdatomic.h> to rte_mbuf_core.h * remove first two patches which were fixes that have been merged in another series Tyler Retzlaff (19): power: use rte optional stdatomic API bbdev: use rte optional stdatomic API eal: use rte optional stdatomic API eventdev: use rte optional stdatomic API gpudev: use rte optional stdatomic API ipsec: use rte optional stdatomic API mbuf: use rte optional stdatomic API mempool: use rte optional stdatomic API rcu: use rte optional stdatomic API pdump: use rte optional stdatomic API stack: use rte optional stdatomic API telemetry: use rte optional stdatomic API vhost: use rte optional stdatomic API cryptodev: use rte optional stdatomic API distributor: use rte optional stdatomic API ethdev: use rte optional stdatomic API hash: use rte optional stdatomic API timer: use rte optional stdatomic API ring: use rte optional stdatomic API drivers/event/cnxk/cnxk_tim_worker.h | 4 +- drivers/net/mlx5/mlx5_hws_cnt.h | 4 +- lib/bbdev/rte_bbdev.c | 6 +- lib/bbdev/rte_bbdev.h | 2 +- lib/cryptodev/rte_cryptodev.c | 22 +++--- lib/cryptodev/rte_cryptodev.h | 16 ++--- lib/distributor/distributor_private.h | 4 +- lib/distributor/rte_distributor.c | 54 +++++++-------- lib/eal/common/eal_common_launch.c | 10 +-- lib/eal/common/eal_common_mcfg.c | 2 +- lib/eal/common/eal_common_proc.c | 14 ++-- lib/eal/common/eal_common_thread.c | 26 +++---- lib/eal/common/eal_common_trace.c | 8 +-- lib/eal/common/eal_common_trace_ctf.c | 4 +- lib/eal/common/eal_memcfg.h | 2 +- lib/eal/common/eal_private.h | 4 +- lib/eal/common/eal_trace.h | 4 +- lib/eal/common/rte_service.c | 122 ++++++++++++++++----------------- lib/eal/freebsd/eal.c | 20 +++--- lib/eal/include/rte_epoll.h | 3 +- lib/eal/linux/eal.c | 26 +++---- lib/eal/linux/eal_interrupts.c | 42 ++++++------ lib/eal/ppc/include/rte_atomic.h | 6 +- lib/eal/windows/rte_thread.c | 8 ++- lib/ethdev/ethdev_driver.h | 16 ++--- lib/ethdev/ethdev_private.c | 6 +- lib/ethdev/rte_ethdev.c | 24 +++---- lib/ethdev/rte_ethdev.h | 16 ++--- lib/ethdev/rte_ethdev_core.h | 2 +- lib/eventdev/rte_event_timer_adapter.c | 66 +++++++++--------- lib/eventdev/rte_event_timer_adapter.h | 2 +- lib/gpudev/gpudev.c | 6 +- lib/gpudev/gpudev_driver.h | 2 +- lib/hash/rte_cuckoo_hash.c | 116 +++++++++++++++---------------- lib/hash/rte_cuckoo_hash.h | 6 +- lib/ipsec/ipsec_sqn.h | 2 +- lib/ipsec/sa.h | 2 +- lib/mbuf/rte_mbuf.h | 20 +++--- lib/mbuf/rte_mbuf_core.h | 5 +- lib/mempool/rte_mempool.h | 4 +- lib/pdump/rte_pdump.c | 14 ++-- lib/pdump/rte_pdump.h | 8 +-- lib/power/power_acpi_cpufreq.c | 33 ++++----- lib/power/power_cppc_cpufreq.c | 25 +++---- lib/power/power_pstate_cpufreq.c | 31 +++++---- lib/rcu/rte_rcu_qsbr.c | 48 ++++++------- lib/rcu/rte_rcu_qsbr.h | 68 +++++++++--------- lib/ring/rte_ring_c11_pvt.h | 47 +++++++------ lib/ring/rte_ring_core.h | 12 ++-- lib/ring/rte_ring_generic_pvt.h | 16 +++-- lib/ring/rte_ring_hts_elem_pvt.h | 22 +++--- lib/ring/rte_ring_peek_elem_pvt.h | 6 +- lib/ring/rte_ring_rts_elem_pvt.h | 27 ++++---- lib/stack/rte_stack.h | 2 +- lib/stack/rte_stack_lf_c11.h | 24 +++---- lib/stack/rte_stack_lf_generic.h | 18 ++--- lib/telemetry/telemetry.c | 18 ++--- lib/timer/rte_timer.c | 50 +++++++------- lib/timer/rte_timer.h | 6 +- lib/vhost/vdpa.c | 3 +- lib/vhost/vhost.c | 42 ++++++------ lib/vhost/vhost.h | 39 ++++++----- lib/vhost/vhost_user.c | 6 +- lib/vhost/virtio_net.c | 58 +++++++++------- lib/vhost/virtio_net_ctrl.c | 6 +- 65 files changed, 684 insertions(+), 653 deletions(-)
Comments
On Thu, Oct 26, 2023 at 2:32 AM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > Replace the use of gcc builtin __atomic_xxx intrinsics with > corresponding rte_atomic_xxx optional stdatomic API. > > v3: > * add missing atomic specification on head variable > in struct rte_ring_headtail > * adapt to use rte_atomic_xxx stdatomic API in rte_ring_c11_pvt.h > * split comma operator statement into 2 statements > > v2: > * add #include <rte_stdatomic.h> to rte_mbuf_core.h > * remove first two patches which were fixes that have > been merged in another series > > Tyler Retzlaff (19): > power: use rte optional stdatomic API > bbdev: use rte optional stdatomic API > eal: use rte optional stdatomic API > eventdev: use rte optional stdatomic API > gpudev: use rte optional stdatomic API > ipsec: use rte optional stdatomic API > mbuf: use rte optional stdatomic API > mempool: use rte optional stdatomic API > rcu: use rte optional stdatomic API > pdump: use rte optional stdatomic API > stack: use rte optional stdatomic API > telemetry: use rte optional stdatomic API > vhost: use rte optional stdatomic API > cryptodev: use rte optional stdatomic API > distributor: use rte optional stdatomic API > ethdev: use rte optional stdatomic API > hash: use rte optional stdatomic API > timer: use rte optional stdatomic API > ring: use rte optional stdatomic API > > drivers/event/cnxk/cnxk_tim_worker.h | 4 +- > drivers/net/mlx5/mlx5_hws_cnt.h | 4 +- > lib/bbdev/rte_bbdev.c | 6 +- > lib/bbdev/rte_bbdev.h | 2 +- > lib/cryptodev/rte_cryptodev.c | 22 +++--- > lib/cryptodev/rte_cryptodev.h | 16 ++--- > lib/distributor/distributor_private.h | 4 +- > lib/distributor/rte_distributor.c | 54 +++++++-------- > lib/eal/common/eal_common_launch.c | 10 +-- > lib/eal/common/eal_common_mcfg.c | 2 +- > lib/eal/common/eal_common_proc.c | 14 ++-- > lib/eal/common/eal_common_thread.c | 26 +++---- > lib/eal/common/eal_common_trace.c | 8 +-- > lib/eal/common/eal_common_trace_ctf.c | 4 +- > lib/eal/common/eal_memcfg.h | 2 +- > lib/eal/common/eal_private.h | 4 +- > lib/eal/common/eal_trace.h | 4 +- > lib/eal/common/rte_service.c | 122 ++++++++++++++++----------------- > lib/eal/freebsd/eal.c | 20 +++--- > lib/eal/include/rte_epoll.h | 3 +- > lib/eal/linux/eal.c | 26 +++---- > lib/eal/linux/eal_interrupts.c | 42 ++++++------ > lib/eal/ppc/include/rte_atomic.h | 6 +- > lib/eal/windows/rte_thread.c | 8 ++- > lib/ethdev/ethdev_driver.h | 16 ++--- > lib/ethdev/ethdev_private.c | 6 +- > lib/ethdev/rte_ethdev.c | 24 +++---- > lib/ethdev/rte_ethdev.h | 16 ++--- > lib/ethdev/rte_ethdev_core.h | 2 +- > lib/eventdev/rte_event_timer_adapter.c | 66 +++++++++--------- > lib/eventdev/rte_event_timer_adapter.h | 2 +- > lib/gpudev/gpudev.c | 6 +- > lib/gpudev/gpudev_driver.h | 2 +- > lib/hash/rte_cuckoo_hash.c | 116 +++++++++++++++---------------- > lib/hash/rte_cuckoo_hash.h | 6 +- > lib/ipsec/ipsec_sqn.h | 2 +- > lib/ipsec/sa.h | 2 +- > lib/mbuf/rte_mbuf.h | 20 +++--- > lib/mbuf/rte_mbuf_core.h | 5 +- > lib/mempool/rte_mempool.h | 4 +- > lib/pdump/rte_pdump.c | 14 ++-- > lib/pdump/rte_pdump.h | 8 +-- > lib/power/power_acpi_cpufreq.c | 33 ++++----- > lib/power/power_cppc_cpufreq.c | 25 +++---- > lib/power/power_pstate_cpufreq.c | 31 +++++---- > lib/rcu/rte_rcu_qsbr.c | 48 ++++++------- > lib/rcu/rte_rcu_qsbr.h | 68 +++++++++--------- > lib/ring/rte_ring_c11_pvt.h | 47 +++++++------ > lib/ring/rte_ring_core.h | 12 ++-- > lib/ring/rte_ring_generic_pvt.h | 16 +++-- > lib/ring/rte_ring_hts_elem_pvt.h | 22 +++--- > lib/ring/rte_ring_peek_elem_pvt.h | 6 +- > lib/ring/rte_ring_rts_elem_pvt.h | 27 ++++---- > lib/stack/rte_stack.h | 2 +- > lib/stack/rte_stack_lf_c11.h | 24 +++---- > lib/stack/rte_stack_lf_generic.h | 18 ++--- > lib/telemetry/telemetry.c | 18 ++--- > lib/timer/rte_timer.c | 50 +++++++------- > lib/timer/rte_timer.h | 6 +- > lib/vhost/vdpa.c | 3 +- > lib/vhost/vhost.c | 42 ++++++------ > lib/vhost/vhost.h | 39 ++++++----- > lib/vhost/vhost_user.c | 6 +- > lib/vhost/virtio_net.c | 58 +++++++++------- > lib/vhost/virtio_net_ctrl.c | 6 +- > 65 files changed, 684 insertions(+), 653 deletions(-) The conversion looks correct to me and the CI looks happy. There are a few acks (from Konstantin) that are missing in the v3 (but I can fix this myself, no need for a new revision just for this). For the series, Acked-by: David Marchand <david.marchand@redhat.com>
On Thu, Oct 26, 2023 at 2:32 AM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > Replace the use of gcc builtin __atomic_xxx intrinsics with > corresponding rte_atomic_xxx optional stdatomic API. > > v3: > * add missing atomic specification on head variable > in struct rte_ring_headtail > * adapt to use rte_atomic_xxx stdatomic API in rte_ring_c11_pvt.h > * split comma operator statement into 2 statements > > v2: > * add #include <rte_stdatomic.h> to rte_mbuf_core.h > * remove first two patches which were fixes that have > been merged in another series > > Tyler Retzlaff (19): > power: use rte optional stdatomic API > bbdev: use rte optional stdatomic API > eal: use rte optional stdatomic API > eventdev: use rte optional stdatomic API > gpudev: use rte optional stdatomic API > ipsec: use rte optional stdatomic API > mbuf: use rte optional stdatomic API > mempool: use rte optional stdatomic API > rcu: use rte optional stdatomic API > pdump: use rte optional stdatomic API > stack: use rte optional stdatomic API > telemetry: use rte optional stdatomic API > vhost: use rte optional stdatomic API > cryptodev: use rte optional stdatomic API > distributor: use rte optional stdatomic API > ethdev: use rte optional stdatomic API > hash: use rte optional stdatomic API > timer: use rte optional stdatomic API > ring: use rte optional stdatomic API > > drivers/event/cnxk/cnxk_tim_worker.h | 4 +- > drivers/net/mlx5/mlx5_hws_cnt.h | 4 +- > lib/bbdev/rte_bbdev.c | 6 +- > lib/bbdev/rte_bbdev.h | 2 +- > lib/cryptodev/rte_cryptodev.c | 22 +++--- > lib/cryptodev/rte_cryptodev.h | 16 ++--- > lib/distributor/distributor_private.h | 4 +- > lib/distributor/rte_distributor.c | 54 +++++++-------- > lib/eal/common/eal_common_launch.c | 10 +-- > lib/eal/common/eal_common_mcfg.c | 2 +- > lib/eal/common/eal_common_proc.c | 14 ++-- > lib/eal/common/eal_common_thread.c | 26 +++---- > lib/eal/common/eal_common_trace.c | 8 +-- > lib/eal/common/eal_common_trace_ctf.c | 4 +- > lib/eal/common/eal_memcfg.h | 2 +- > lib/eal/common/eal_private.h | 4 +- > lib/eal/common/eal_trace.h | 4 +- > lib/eal/common/rte_service.c | 122 ++++++++++++++++----------------- > lib/eal/freebsd/eal.c | 20 +++--- > lib/eal/include/rte_epoll.h | 3 +- > lib/eal/linux/eal.c | 26 +++---- > lib/eal/linux/eal_interrupts.c | 42 ++++++------ > lib/eal/ppc/include/rte_atomic.h | 6 +- > lib/eal/windows/rte_thread.c | 8 ++- > lib/ethdev/ethdev_driver.h | 16 ++--- > lib/ethdev/ethdev_private.c | 6 +- > lib/ethdev/rte_ethdev.c | 24 +++---- > lib/ethdev/rte_ethdev.h | 16 ++--- > lib/ethdev/rte_ethdev_core.h | 2 +- > lib/eventdev/rte_event_timer_adapter.c | 66 +++++++++--------- > lib/eventdev/rte_event_timer_adapter.h | 2 +- > lib/gpudev/gpudev.c | 6 +- > lib/gpudev/gpudev_driver.h | 2 +- > lib/hash/rte_cuckoo_hash.c | 116 +++++++++++++++---------------- > lib/hash/rte_cuckoo_hash.h | 6 +- > lib/ipsec/ipsec_sqn.h | 2 +- > lib/ipsec/sa.h | 2 +- > lib/mbuf/rte_mbuf.h | 20 +++--- > lib/mbuf/rte_mbuf_core.h | 5 +- > lib/mempool/rte_mempool.h | 4 +- > lib/pdump/rte_pdump.c | 14 ++-- > lib/pdump/rte_pdump.h | 8 +-- > lib/power/power_acpi_cpufreq.c | 33 ++++----- > lib/power/power_cppc_cpufreq.c | 25 +++---- > lib/power/power_pstate_cpufreq.c | 31 +++++---- > lib/rcu/rte_rcu_qsbr.c | 48 ++++++------- > lib/rcu/rte_rcu_qsbr.h | 68 +++++++++--------- > lib/ring/rte_ring_c11_pvt.h | 47 +++++++------ > lib/ring/rte_ring_core.h | 12 ++-- > lib/ring/rte_ring_generic_pvt.h | 16 +++-- > lib/ring/rte_ring_hts_elem_pvt.h | 22 +++--- > lib/ring/rte_ring_peek_elem_pvt.h | 6 +- > lib/ring/rte_ring_rts_elem_pvt.h | 27 ++++---- > lib/stack/rte_stack.h | 2 +- > lib/stack/rte_stack_lf_c11.h | 24 +++---- > lib/stack/rte_stack_lf_generic.h | 18 ++--- > lib/telemetry/telemetry.c | 18 ++--- > lib/timer/rte_timer.c | 50 +++++++------- > lib/timer/rte_timer.h | 6 +- > lib/vhost/vdpa.c | 3 +- > lib/vhost/vhost.c | 42 ++++++------ > lib/vhost/vhost.h | 39 ++++++----- > lib/vhost/vhost_user.c | 6 +- > lib/vhost/virtio_net.c | 58 +++++++++------- > lib/vhost/virtio_net_ctrl.c | 6 +- > 65 files changed, 684 insertions(+), 653 deletions(-) > Series applied, thanks.