On Wed, May 08, 2019 at 11:16:38AM -0700, Paul E. McKenney wrote: [snip] > > The other example could be dentry look up which uses seqlocks for the > > RCU-walk case? But that could be too complex. This is also something I first > > learnt from the paper and then the excellent path-lookup.rst document in > > kernel sources. > > This is a great example, but it would need serious simplification for > use in the Documentation/RCU directory. Note that dcache uses it to > gain very limited and targeted consistency -- only a few types of updates > acquire the write-side of that seqlock. > > Might be quite worthwhile to have a simplified example, though! > Perhaps a trivial hash table where write-side sequence lock is acquired > only when moving an element from one chain to another? Here you meant "moving from one chain to another" in the case of hashtable-resizing right? I could not think of another reason why an element is moved between 2 hash chains. I just finished reading the main parts of Josh's relativistic hashtable paper [1] and it is very cool indeed. The whole wait-for-readers application for hashtable expansion is so well thought. I am planning to go over more papers and code and can certainly update this example with a read-mostly hashtable example as well as you are suggesting. :-) [1] https://www.usenix.org/legacy/event/atc11/tech/final_files/Triplett.pdf thanks, - Joel