On Sun, 3 Jul 2022 07:56:18 +0000 Long Li <lon...@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 > > lon...@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.