04/05/2026 19:02, Stephen Hemminger:
> On Mon,  4 May 2026 10:37:14 +0200
> Thomas Monjalon <[email protected]> wrote:
> 
> > diff --git a/lib/eal/include/generic/rte_spinlock.h 
> > b/lib/eal/include/generic/rte_spinlock.h
> > index c907d4e45c..19c0e34f0a 100644
> > --- a/lib/eal/include/generic/rte_spinlock.h
> > +++ b/lib/eal/include/generic/rte_spinlock.h
> > @@ -197,8 +197,8 @@ rte_spinlock_trylock_tm(rte_spinlock_t *sl)
> >   */
> >  typedef struct {
> >     rte_spinlock_t sl; /**< the actual spinlock */
> > -   volatile int user; /**< core id using lock, -1 for unused */
> > -   volatile int count; /**< count of time this lock has been called */
> > +   int user; /**< core id using lock, -1 for unused */
> > +   int count; /**< count of time this lock has been called */
> 
> It might make sense to use unsigned for count, and sized types.
> I.e do you really need 32 bit values?

Such a change would need to be evaluated in a performance benchmark.

> Only in tree use of recursive spinlock in vdev code.
> 
> PS: I wonder if we really need to keep the transactional memory versions of 
> stuff.

I don't know, it's part of the API and has no maintenance cost.


Reply via email to