[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