[RFC 2/3] event/cnxk: add pause to spinloops
Stephen Hemminger
stephen at networkplumber.org
Wed Jan 21 22:01:26 CET 2026
On Wed, 21 Jan 2026 10:05:43 -0800
Stephen Hemminger <stephen at networkplumber.org> wrote:
> diff --git a/drivers/event/cnxk/cnxk_tim_worker.h b/drivers/event/cnxk/cnxk_tim_worker.h
> index 09f84091ab..887c0800e2 100644
> --- a/drivers/event/cnxk/cnxk_tim_worker.h
> +++ b/drivers/event/cnxk/cnxk_tim_worker.h
> @@ -405,9 +405,9 @@ cnxk_tim_add_entry_mp(struct cnxk_tim_ring *const tim_ring,
> : [crem] "r"(&bkt->w1)
> : "memory");
> #else
> - while (rte_atomic_load_explicit((int64_t __rte_atomic *)&bkt->w1,
> + while (rte_atomic_load_explicit((int64_t __rte_atomic *)&bkt->w1,
> rte_memory_order_relaxed) < 0)
> - ;
> + rte_pause();
> #endif
I noticed while looking at the code there is assembly to do the wait for instructions.
Why doesn't this driver use the rte_unit_equal_64 instead?
More information about the dev
mailing list