> -----Original Message-----
> From: Tyler Retzlaff <roret...@linux.microsoft.com>
> Sent: Friday, March 3, 2023 12:18 AM
> To: dev@dpdk.org
> Cc: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; tho...@monjalon.net;
> bruce.richard...@intel.com; m...@smartsharesystems.com; Ruifeng Wang
> <ruifeng.w...@arm.com>;
> maxime.coque...@redhat.com; Tyler Retzlaff <roret...@linux.microsoft.com>
> Subject: [PATCH v2 00/17] use __atomic operations returning previous value
>
> This series replaces uses of __atomic_{add,and,or,sub,xor}_fetch with
> __atomic_fetch_{add,and,or,sub,xor} intrinsics. The latter omits generation
> of code that
> is only needed if the returned value is actually used.
>
> Additionally, this change simplifies adapting dpdk to standard atomics
> planned for 23.07
> since __atomic_fetch_xxx can be trivially replaced with atomic_fetch_xxx
> whereas
> __atomic_xxx_fetch has no standard equivalent.
>
>
> v2:
> net/iavf patch had one incorrect change to __atomic_fetch_sub
> from __atomic_sub_fetch the new value was assigned to a variable
> on the previous line so revert the change from the patch.
>
> Series-acked-by: Morten Brørup <m...@smartsharesystems.com>
>
> Tyler Retzlaff (17):
> vhost: use previous value atomic fetch operations
> telemetry: use previous value atomic fetch operations
> stack: use previous value atomic fetch operations
> eal: use previous value atomic fetch operations
> distributor: use previous value atomic fetch operations
> bbdev: use previous value atomic fetch operations
> examples/vhost: use previous value atomic fetch operations
> net/virtio: use previous value atomic fetch operations
> net/octeontx: use previous value atomic fetch operations
> net/mlx5: use previous value atomic fetch operations
> net/iavf: use previous value atomic fetch operations
> net/cxgbe: use previous value atomic fetch operations
> drivers/event: use previous value atomic fetch operations
> dma/skeleton: use previous value atomic fetch operations
> drivers/common: use previous value atomic fetch operations
> app/test: use previous value atomic fetch operations
> test-eventdev: use previous value atomic fetch operations
>
> app/test-eventdev/test_order_common.h | 2 +-
> app/test/test_lcores.c | 2 +-
> app/test/test_service_cores.c | 4 ++--
> drivers/common/cnxk/roc_nix_inl_dev.c | 2 +-
> drivers/common/mlx5/mlx5_common_mr.c | 2 +-
> drivers/common/mlx5/mlx5_common_utils.c | 10 +++++-----
> drivers/common/mlx5/mlx5_malloc.c | 16 ++++++++--------
> drivers/dma/skeleton/skeleton_dmadev.c | 2 +-
> drivers/event/cnxk/cnxk_eventdev_selftest.c | 12 ++++++------
> drivers/event/cnxk/cnxk_tim_worker.h | 6 +++---
> drivers/event/dsw/dsw_event.c | 6 +++---
> drivers/event/octeontx/timvf_worker.h | 6 +++---
> drivers/net/cxgbe/clip_tbl.c | 2 +-
> drivers/net/cxgbe/cxgbe_main.c | 12 ++++++------
> drivers/net/cxgbe/l2t.c | 4 ++--
> drivers/net/cxgbe/mps_tcam.c | 2 +-
> drivers/net/cxgbe/smt.c | 4 ++--
> drivers/net/iavf/iavf_vchnl.c | 4 ++--
> drivers/net/mlx5/linux/mlx5_verbs.c | 2 +-
> drivers/net/mlx5/mlx5_flow.c | 6 +++---
> drivers/net/mlx5/mlx5_flow_dv.c | 4 ++--
> drivers/net/mlx5/mlx5_flow_flex.c | 6 +++---
> drivers/net/mlx5/mlx5_flow_hw.c | 10 +++++-----
> drivers/net/mlx5/mlx5_flow_meter.c | 20 ++++++++++----------
> drivers/net/mlx5/mlx5_rx.h | 2 +-
> drivers/net/octeontx/octeontx_ethdev.c | 2 +-
> drivers/net/virtio/virtio_user/virtio_user_dev.c | 2 +-
> examples/vhost/main.c | 12 ++++++------
> examples/vhost/virtio_net.c | 4 ++--
> lib/bbdev/rte_bbdev.c | 2 +-
> lib/distributor/rte_distributor.c | 2 +-
> lib/eal/common/eal_common_trace.c | 8 ++++----
> lib/eal/common/rte_service.c | 8 ++++----
> lib/eal/ppc/include/rte_atomic.h | 16 ++++++++--------
> lib/stack/rte_stack_lf_c11.h | 2 +-
> lib/telemetry/telemetry.c | 6 +++---
> lib/vhost/virtio_net.c | 6 +++---
> 37 files changed, 109 insertions(+), 109 deletions(-)
>
> --
> 1.8.3.1
Series-acked-by: Ruifeng Wang <ruifeng.w...@arm.com>