All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Honnappa.Nagarahalli@arm.com, thomas@monjalon.net,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH 00/17] use __atomic operations returning previous value
Date: Wed,  1 Mar 2023 16:47:31 -0800	[thread overview]
Message-ID: <1677718068-2412-1-git-send-email-roretzla@linux.microsoft.com> (raw)

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.

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                    |  6 +++---
 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, 110 insertions(+), 110 deletions(-)

-- 
1.8.3.1


             reply	other threads:[~2023-03-02  0:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-02  0:47 Tyler Retzlaff [this message]
2023-03-02  0:47 ` [PATCH 01/17] vhost: use previous value atomic fetch operations Tyler Retzlaff
2023-03-02 14:47   ` Maxime Coquelin
2023-03-02  0:47 ` [PATCH 02/17] telemetry: " Tyler Retzlaff
2023-03-02  9:34   ` Bruce Richardson
2023-03-02  0:47 ` [PATCH 03/17] stack: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 04/17] eal: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 05/17] distributor: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 06/17] bbdev: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 07/17] examples/vhost: " Tyler Retzlaff
2023-03-02 14:47   ` Maxime Coquelin
2023-03-02  0:47 ` [PATCH 08/17] net/virtio: " Tyler Retzlaff
2023-03-02 14:48   ` Maxime Coquelin
2023-03-02  0:47 ` [PATCH 09/17] net/octeontx: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 10/17] net/mlx5: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 11/17] net/iavf: " Tyler Retzlaff
2023-03-02  9:28   ` Ruifeng Wang
2023-03-02 15:50     ` Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 12/17] net/cxgbe: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 13/17] drivers/event: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 14/17] dma/skeleton: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 15/17] drivers/common: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 16/17] app/test: " Tyler Retzlaff
2023-03-02  0:47 ` [PATCH 17/17] test-eventdev: " Tyler Retzlaff
2023-03-02 14:40 ` [PATCH 00/17] use __atomic operations returning previous value Morten Brørup
2023-03-02 16:18 ` [PATCH v2 " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 01/17] vhost: use previous value atomic fetch operations Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 02/17] telemetry: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 03/17] stack: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 04/17] eal: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 05/17] distributor: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 06/17] bbdev: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 07/17] examples/vhost: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 08/17] net/virtio: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 09/17] net/octeontx: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 10/17] net/mlx5: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 11/17] net/iavf: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 12/17] net/cxgbe: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 13/17] drivers/event: " Tyler Retzlaff
2023-03-13  7:02     ` [EXT] " Pavan Nikhilesh Bhagavatula
2023-03-02 16:18   ` [PATCH v2 14/17] dma/skeleton: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 15/17] drivers/common: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 16/17] app/test: " Tyler Retzlaff
2023-03-02 16:18   ` [PATCH v2 17/17] test-eventdev: " Tyler Retzlaff
2023-03-03  1:54   ` [PATCH v2 00/17] use __atomic operations returning previous value Ruifeng Wang
2023-03-03  2:33   ` fengchengwen
2023-04-25  9:10   ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1677718068-2412-1-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=Honnappa.Nagarahalli@arm.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.