On Tuesday, May 08, 2012 22:18:34 Matthias Schiffer wrote:
> It would be useful to keep the output consistent even when the hash is
> updated while the output is generated - as a delete-add sequence adds
> the new element at the head of the hlist, a RCU-locked reader will not
> see the element when the traversal position is between the head and the
> old position of the element. An hash_update could use
> hlist_replace_rcu() to replace an element in a way that each reader
> either sees the old or the new version, but none loses it completely.
> 
> A hash_update_if version that gets an additional callback that is
> provided with the old and the new element and gets to decide which
> element to keep in the hash could be used to compare the sequence
> numbers in the vis code and update the hash atomically.

How the rcu replace / update mechanism works is pretty clear to me. My 
question geared towards our own code base. At which point would you use this 
rcu update ? Every time an element in the hash is modified ?

Regards,
Marek

Reply via email to