Re: [B.A.T.M.A.N.] The current state of the batman-adv vis code

Marek Lindner
2012-05-09T11:04:27Z

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