[RFC 25/32] event/opdl: replace SMP barriers with C11 atomics
Stephen Hemminger
stephen at networkplumber.org
Wed Jul 29 19:54:18 CEST 2026
Publishing the port becomes a release store of the configured flag;
the barrier after clearing started becomes a release fence. Both
are control path.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
drivers/event/opdl/opdl_evdev.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index ffa65ef930..1450fa5ae8 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -200,8 +200,9 @@ opdl_port_setup(struct rte_eventdev *dev,
p->queue_id = OPDL_INVALID_QID;
p->external_qid = OPDL_INVALID_QID;
dev->data->ports[port_id] = p;
- rte_smp_wmb();
- p->configured = 1;
+ /* Release publishes port setup before the configured flag */
+ rte_atomic_store_explicit((uint8_t __rte_atomic *)&p->configured, 1,
+ rte_memory_order_release);
device->nb_ports++;
return 0;
}
@@ -477,7 +478,7 @@ opdl_stop(struct rte_eventdev *dev)
device->started = 0;
- rte_smp_wmb();
+ rte_atomic_thread_fence(rte_memory_order_release);
}
static int
--
2.53.0
More information about the dev
mailing list