[PATCH 01/17] net/mana: add basic driver, build environment and doc
Stephen Hemminger
stephen at networkplumber.org
Mon Jul 4 18:41:17 CEST 2022
On Sun, 3 Jul 2022 07:56:18 +0000
Long Li <longli at microsoft.com> wrote:
> > Subject: Re: [PATCH 01/17] net/mana: add basic driver, build environment and
> > doc
> >
> > On Fri, 1 Jul 2022 02:02:31 -0700
> > longli at linuxonhyperv.com wrote:
> >
> > > + uint64_t max_mr_size;
> > > + rte_rwlock_t mr_list_lock;
> > > +};
> >
> > Reader/Writer locks are slower for the usual uncontended case.
> > Unless you have a reader holding onto the lock for a long time, better to use
> > spin lock.
> >
> > This is Linux wisdom (thank you paulmck), Windows seems to love reader/writer
> > locks.
>
> This lock is used mostly uncontended for readers and allow them concurrently to access the list. It's rare that a writer might want to access it.
>
> But changing it to spinlock will prevent multiple readers from accessing the list at the same time. In this use case, is it beneficial to use spinlocks?
https://www.researchgate.net/figure/Costs-of-Simple-Spinlock-and-Distributed-Reader-Writer-Spinlock-To-write-acquire-the_fig1_244490342
Conclusion
Breakeven curves for the locking primitives were
computed, and the breakeven between simple spinlock
and distributed reader-writer spinlock supports the rule of
thumb that states that simple spinlock should be used in
cases where the update ratio f is greater than the
reciprocal of the number of CPUs, 1/nm.
More information about the dev
mailing list