From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Maxime Coquelin <maxime.coquelin@redhat.com>,
Chenbo Xia <chenbox@nvidia.com>
Subject: [PATCH v9 22/25] net/vhost: use stdatomic instead of rte_atomic32
Date: Tue, 29 Sep 2026 07:02:08 -0700 [thread overview]
Message-ID: <20260929140409.234453-23-stephen@networkplumber.org> (raw)
In-Reply-To: <20260929140409.234453-1-stephen@networkplumber.org>
Convert allow_queuing, while_queuing, started, and dev_attached from
rte_atomic32_t to RTE_ATOMIC(uint32_t) and replace rte_atomic32_*()
with rte_atomic_*_explicit().
The data-path / control-thread handshake on allow_queuing and
while_queuing is a Dekker-style mutual-visibility pattern: each side
stores its own flag and then loads the peer's. Both legs must be
seq_cst to forbid store-load reordering; anything weaker permits both
sides to miss each other. The previous rte_atomic32_set/read compiled
to plain volatile stores/loads and provided no such ordering, so this
also closes a latent ordering hole on weakly-ordered ISAs.
The data-path exit store of while_queuing=0 is release, ordering
preceding slot accesses before the control thread observes the data
path as idle.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/vhost/rte_eth_vhost.c | 62 ++++++++++++++++++++-----------
1 file changed, 40 insertions(+), 22 deletions(-)
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 07d3d15781..f7425d04e6 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -73,8 +73,8 @@ struct vhost_stats {
struct vhost_queue {
int vid;
- rte_atomic32_t allow_queuing;
- rte_atomic32_t while_queuing;
+ RTE_ATOMIC(uint32_t) allow_queuing;
+ RTE_ATOMIC(uint32_t) while_queuing;
struct pmd_internal *internal;
struct rte_mempool *mb_pool;
uint16_t port;
@@ -406,12 +406,19 @@ eth_vhost_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
uint16_t i, nb_rx = 0;
uint16_t nb_receive = nb_bufs;
- if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0))
+ /* Fast-path early exit; racy load is fine here -- if we miss a
+ * transition we get caught by the seq_cst check below.
+ */
+ if (unlikely(rte_atomic_load_explicit(&r->allow_queuing, rte_memory_order_relaxed) == 0))
return 0;
- rte_atomic32_set(&r->while_queuing, 1);
-
- if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0))
+ /* Announce presence, then re-check. The store and the following
+ * load MUST both be seq_cst so they are totally ordered with the
+ * control thread's store-to-allow_queuing / load-of-while_queuing
+ * pair. Anything weaker permits both sides to miss each other.
+ */
+ rte_atomic_store_explicit(&r->while_queuing, 1, rte_memory_order_seq_cst);
+ if (unlikely(rte_atomic_load_explicit(&r->allow_queuing, rte_memory_order_seq_cst) == 0))
goto out;
/* Dequeue packets from guest TX queue */
@@ -446,7 +453,7 @@ eth_vhost_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
}
out:
- rte_atomic32_set(&r->while_queuing, 0);
+ rte_atomic_store_explicit(&r->while_queuing, 0, rte_memory_order_release);
return nb_rx;
}
@@ -460,12 +467,19 @@ eth_vhost_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
uint64_t nb_bytes = 0;
uint64_t nb_missed = 0;
- if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0))
+ /* Fast-path early exit; racy load is fine here -- if we miss a
+ * transition we get caught by the seq_cst check below.
+ */
+ if (unlikely(rte_atomic_load_explicit(&r->allow_queuing, rte_memory_order_relaxed) == 0))
return 0;
- rte_atomic32_set(&r->while_queuing, 1);
-
- if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0))
+ /* Announce presence, then re-check. The store and the following
+ * load MUST both be seq_cst so they are totally ordered with the
+ * control thread's store-to-allow_queuing / load-of-while_queuing
+ * pair. Anything weaker permits both sides to miss each other.
+ */
+ rte_atomic_store_explicit(&r->while_queuing, 1, rte_memory_order_seq_cst);
+ if (unlikely(rte_atomic_load_explicit(&r->allow_queuing, rte_memory_order_seq_cst) == 0))
goto out;
for (i = 0; i < nb_bufs; i++) {
@@ -515,7 +529,7 @@ eth_vhost_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
for (i = 0; likely(i < nb_tx); i++)
rte_pktmbuf_free(bufs[i]);
out:
- rte_atomic32_set(&r->while_queuing, 0);
+ rte_atomic_store_explicit(&r->while_queuing, 0, rte_memory_order_release);
return nb_tx;
}
@@ -771,11 +785,13 @@ update_queuing_status(struct rte_eth_dev *dev, bool wait_queuing)
vq = dev->data->rx_queues[i];
if (vq == NULL)
continue;
- if (allow_queuing && state->cur[vq->virtqueue_id])
- rte_atomic32_set(&vq->allow_queuing, 1);
- else
- rte_atomic32_set(&vq->allow_queuing, 0);
- while (wait_queuing && rte_atomic32_read(&vq->while_queuing))
+
+ rte_atomic_store_explicit(&vq->allow_queuing,
+ (allow_queuing && state->cur[vq->virtqueue_id]),
+ rte_memory_order_seq_cst);
+
+ while (wait_queuing &&
+ rte_atomic_load_explicit(&vq->while_queuing, rte_memory_order_seq_cst))
rte_pause();
}
@@ -783,11 +799,13 @@ update_queuing_status(struct rte_eth_dev *dev, bool wait_queuing)
vq = dev->data->tx_queues[i];
if (vq == NULL)
continue;
- if (allow_queuing && state->cur[vq->virtqueue_id])
- rte_atomic32_set(&vq->allow_queuing, 1);
- else
- rte_atomic32_set(&vq->allow_queuing, 0);
- while (wait_queuing && rte_atomic32_read(&vq->while_queuing))
+
+ rte_atomic_store_explicit(&vq->allow_queuing,
+ (allow_queuing && state->cur[vq->virtqueue_id]),
+ rte_memory_order_seq_cst);
+
+ while (wait_queuing &&
+ rte_atomic_load_explicit(&vq->while_queuing, rte_memory_order_seq_cst))
rte_pause();
}
}
--
2.53.0
next prev parent reply other threads:[~2026-09-29 14:06 UTC|newest]
Thread overview: 221+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 4:17 [RFC 0/7] prepare deprecation of rte_atomicNN_*() family Stephen Hemminger
2026-05-21 4:17 ` [RFC 1/7] doc: update versions in deprecation file Stephen Hemminger
2026-05-21 4:17 ` [RFC 2/7] eal: reimplement rte_smp_*mb with rte_atomic_thread_fence Stephen Hemminger
2026-05-21 15:43 ` Wathsala Vithanage
2026-05-21 4:17 ` [RFC 3/7] ring: use C11 atomic operations for MP/SP head/tail Stephen Hemminger
2026-05-21 15:57 ` Wathsala Vithanage
2026-05-21 4:17 ` [RFC 4/7] net/zxdh: work around GCC bitfield uninit false positive Stephen Hemminger
2026-05-21 4:17 ` [RFC 5/7] net/bonding: use stdatomic Stephen Hemminger
2026-05-21 4:17 ` [RFC 6/7] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-05-21 4:17 ` [RFC 7/7] config: use RTE_FORCE_INTRINSICS on all platforms Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 00/11] prepare deprecation of rte_atomicNN_*() family Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 01/11] eal: use intrinsics for rte_atomic on all platforms Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 02/11] eal: reimplement rte_smp_*mb with rte_atomic_thread_fence Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 03/11] ring: use C11 atomic operations for MP/SP head/tail Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 04/11] net/bonding: use stdatomic Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 05/11] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 06/11] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 07/11] net/failsafe: convert to stdatomic Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 08/11] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 09/11] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 10/11] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-05-21 18:04 ` [RFC v2 11/11] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-05-22 14:19 ` [RFC v2 00/11] prepare deprecation of rte_atomicNN_*() family Bruce Richardson
2026-05-22 14:45 ` Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 00/27] deprecate rte_atomicNN family Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 01/27] eal: use intrinsics for rte_atomic on all platforms Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 02/27] eal: reimplement rte_smp_*mb with rte_atomic_thread_fence Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 03/27] ring: use compare-and-swap wrapper Stephen Hemminger
2026-05-25 7:41 ` Konstantin Ananyev
2026-05-25 14:31 ` Stephen Hemminger
2026-05-25 15:35 ` Stephen Hemminger
2026-05-25 15:47 ` Morten Brørup
2026-05-23 19:16 ` [PATCH v3 04/27] bpf: replace atomic op macro with typed helpers Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 05/27] net/bonding: use stdatomic Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 06/27] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 07/27] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 08/27] net/failsafe: convert to stdatomic Stephen Hemminger
2026-05-23 19:16 ` [PATCH v3 09/27] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 00/27] deprecate rte_atomicNN family Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 01/27] eal: use intrinsics for rte_atomic on all platforms Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 02/27] eal: reimplement rte_smp_*mb with rte_atomic_thread_fence Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 03/27] ring: use compare-and-swap wrapper Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 04/27] bpf: replace atomic op macro with typed helpers Stephen Hemminger
2026-05-25 10:49 ` Marat Khalili
2026-05-23 19:56 ` [PATCH v3 05/27] net/bonding: use stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 06/27] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 07/27] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 08/27] net/failsafe: convert to stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 09/27] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 10/27] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 11/27] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 12/27] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 13/27] bus/dpaa: replace rte_atomic16 " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 14/27] drivers: " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 15/27] net/netvsc: replace rte_atomic32 " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 16/27] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 17/27] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 18/27] common/dpaax: remove unused atomic macros Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 19/27] net/bnx2x: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 20/27] bus/fslmc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 21/27] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 22/27] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 23/27] net/txgbe: " Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 24/27] net/vhost: use stdatomic instead of rte_atomic32 Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 25/27] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 26/27] test/atomic: suppress deprecation warnings for legacy APIs Stephen Hemminger
2026-05-23 19:56 ` [PATCH v3 27/27] eal: mark rte_atomicNN as deprecated Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 00/27] deprecate rte_atomicNN family Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 01/27] eal: use intrinsics for rte_atomic on all platforms Stephen Hemminger
2026-06-01 18:23 ` Konstantin Ananyev
2026-05-26 23:23 ` [PATCH v4 02/27] eal: reimplement rte_smp_*mb with rte_atomic_thread_fence Stephen Hemminger
2026-06-01 18:24 ` Konstantin Ananyev
2026-05-26 23:23 ` [PATCH v4 03/27] ring: unify memory model on C11, remove atomic32 Stephen Hemminger
2026-06-01 18:18 ` Konstantin Ananyev
2026-06-01 21:05 ` Stephen Hemminger
2026-06-01 21:18 ` Stephen Hemminger
2026-06-01 22:07 ` Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 04/27] bpf: use C11 atomics in BPF_ST_ATOMIC_REG Stephen Hemminger
2026-05-27 16:52 ` Marat Khalili
2026-05-26 23:23 ` [PATCH v4 05/27] net/bonding: use stdatomic Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 06/27] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 07/27] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 08/27] net/failsafe: convert to stdatomic Stephen Hemminger
2026-05-26 23:23 ` [PATCH v4 09/27] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 10/27] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 11/27] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-06-01 9:22 ` Andrew Rybchenko
2026-05-26 23:24 ` [PATCH v4 12/27] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 13/27] bus/dpaa: replace rte_atomic16 " Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 14/27] drivers: " Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 15/27] net/netvsc: replace rte_atomic32 " Stephen Hemminger
2026-05-27 0:29 ` [EXTERNAL] " Long Li
2026-05-31 16:35 ` Stephen Hemminger
2026-06-25 2:32 ` Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 16/27] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 17/27] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 18/27] common/dpaax: use stdatomic instead of rte_atomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 19/27] net/bnx2x: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 20/27] bus/fslmc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 21/27] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 22/27] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 23/27] net/txgbe: " Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 24/27] net/vhost: use stdatomic instead of rte_atomic32 Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 25/27] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 26/27] test/atomic: suppress deprecation warnings for legacy APIs Stephen Hemminger
2026-05-26 23:24 ` [PATCH v4 27/27] eal: mark rte_atomicNN as deprecated Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 00/24] replace use of rte_atomicNN Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 01/24] bpf: use C11 atomics in BPF_ST_ATOMIC_REG Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 02/24] net/bonding: use stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 03/24] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 04/24] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 05/24] net/failsafe: convert to stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 06/24] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-07-31 6:09 ` Hyong Youb Kim (hyonkim)
2026-07-31 4:57 ` [PATCH v6 07/24] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 08/24] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 09/24] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 10/24] bus/dpaa: replace rte_atomic16 " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 11/24] bus/fslmc: " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 12/24] net/netvsc: replace rte_atomic32 " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 13/24] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 14/24] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 15/24] common/dpaax: use stdatomic instead of rte_atomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 16/24] net/bnx2x: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 17/24] bus/fslmc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 18/24] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 19/24] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 20/24] net/txgbe: " Stephen Hemminger
2026-07-31 4:57 ` [PATCH v6 21/24] net/vhost: use stdatomic instead of rte_atomic32 Stephen Hemminger
2026-07-31 4:58 ` [PATCH v6 22/24] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-07-31 4:58 ` [PATCH v6 23/24] test/atomic: suppress deprecation warnings for legacy APIs Stephen Hemminger
2026-07-31 4:58 ` [PATCH v6 24/24] eal: deprecate rte_atomicNN functions Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 00/24] remove legacy atomic functions Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 01/24] bpf: use C11 atomics in BPF_ST_ATOMIC_REG Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 02/24] net/bonding: use stdatomic Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 03/24] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 04/24] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 05/24] net/failsafe: convert to stdatomic Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 06/24] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-08-06 3:22 ` [PATCH v7 07/24] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 08/24] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 09/24] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 10/24] bus/dpaa: replace rte_atomic16 " Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 11/24] bus/fslmc: " Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 12/24] net/netvsc: replace rte_atomic32 " Stephen Hemminger
2026-08-13 22:45 ` [EXTERNAL] " Long Li
2026-08-06 3:23 ` [PATCH v7 13/24] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 14/24] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-08-13 23:02 ` [EXTERNAL] " Long Li
2026-08-06 3:23 ` [PATCH v7 15/24] common/dpaax: remove unused atomic wrappers Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 16/24] net/bnx2x: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 17/24] bus/fslmc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-08-06 6:15 ` Hemant Agrawal
2026-08-06 3:23 ` [PATCH v7 18/24] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 19/24] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 20/24] net/txgbe: " Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 21/24] net/vhost: use stdatomic instead of rte_atomic32 Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 22/24] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 23/24] test/atomic: drop old rte_atomicNN tests Stephen Hemminger
2026-08-06 3:23 ` [PATCH v7 24/24] eal: remove rte_atomicNN functions Stephen Hemminger
2026-09-04 12:12 ` [PATCH v7 00/24] remove legacy atomic functions Morten Brørup
2026-09-17 20:10 ` [PATCH v8 00/25] " Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 01/25] bpf: use C11 atomics in BPF_ST_ATOMIC_REG Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 02/25] net/bonding: use stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 03/25] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 04/25] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-09-29 8:07 ` David Marchand
2026-09-29 13:54 ` Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 05/25] net/failsafe: convert to stdatomic Stephen Hemminger
2026-09-29 8:06 ` David Marchand
2026-09-17 20:10 ` [PATCH v8 06/25] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-09-29 8:12 ` David Marchand
2026-09-17 20:10 ` [PATCH v8 07/25] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 08/25] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 09/25] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 10/25] bus/dpaa: remove unused in_use field Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 11/25] bus/dpaa: replace rte_atomic16 with stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 12/25] bus/fslmc: replace rte_atomic " Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 13/25] common/dpaax: remove unused atomic wrappers Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 14/25] net/netvsc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-21 9:46 ` [EXTERNAL] " Wei Hu
2026-09-17 20:10 ` [PATCH v8 15/25] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 16/25] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-09-21 9:37 ` [EXTERNAL] " Wei Hu
2026-09-17 20:10 ` [PATCH v8 17/25] net/bnx2x: convert from rte_atomic32 " Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 18/25] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 19/25] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 20/25] net/txgbe: " Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 21/25] net/vhost: use stdatomic for state flags Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 22/25] net/vhost: use stdatomic instead of rte_atomic32 Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 23/25] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 24/25] test/atomic: drop old rte_atomicNN tests Stephen Hemminger
2026-09-17 20:10 ` [PATCH v8 25/25] eal: remove rte_atomicNN functions Stephen Hemminger
2026-09-29 9:17 ` [PATCH v8 00/25] remove legacy atomic functions David Marchand
2026-09-29 14:01 ` [PATCH v9 " Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 01/25] bpf: use C11 atomics in BPF_ST_ATOMIC_REG Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 02/25] net/bonding: use stdatomic Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 03/25] net/nbl: remove unused rte_atomic16 field Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 04/25] net/ena: replace use of rte_atomicNN Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 05/25] net/failsafe: convert to stdatomic Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 06/25] net/enic: do not use deprecated rte_atomic64 Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 07/25] net/pfe: use ethdev linkstatus helpers Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 08/25] net/sfc: replace rte_atomic with stdatomic Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 09/25] crypto/ccp: replace use of rte_atomic64 " Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 10/25] bus/dpaa: remove unused in_use field Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 11/25] bus/dpaa: replace rte_atomic16 with stdatomic Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 12/25] bus/fslmc: replace rte_atomic " Stephen Hemminger
2026-09-29 14:01 ` [PATCH v9 13/25] common/dpaax: remove unused atomic wrappers Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 14/25] net/netvsc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 15/25] event/sw: convert from rte_atomic32 to stdatomic Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 16/25] bus/vmbus: convert from rte_atomic " Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 17/25] net/bnx2x: convert from rte_atomic32 " Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 18/25] drivers/event: replace rte_atomic32 in selftests Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 19/25] net/hinic: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 20/25] net/txgbe: " Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 21/25] net/vhost: use stdatomic for state flags Stephen Hemminger
2026-09-29 14:02 ` Stephen Hemminger [this message]
2026-09-29 14:02 ` [PATCH v9 23/25] vdpa/ifc: replace rte_atomic32 with stdatomic Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 24/25] test/atomic: drop old rte_atomicNN tests Stephen Hemminger
2026-09-29 14:02 ` [PATCH v9 25/25] eal: remove rte_atomicNN functions Stephen Hemminger
2026-10-01 13:29 ` [PATCH v9 00/25] remove legacy atomic functions 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=20260929140409.234453-23-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=chenbox@nvidia.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
/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.