On Mon, Jul 16, 2018 at 11:23:43AM +1000, NeilBrown wrote: > > kmem_cache_free() directly. For this, I need rhashtable to be safe if > an object is deleted and immediately re-inserted into the same hash > chain.
This means that rcu_read_lock(); A = rhashtable_lookup(); use(A); rcu_read_unlock(); A can turn into object B when it is used. That is just too strange for words. Can we see some actual code on how this works? For comparison, the existing net code where this happens A doesn't actually change and it simply moves from one hashtable to another. I'm relucant to add semantics that would restrain on how rhashtable works unless we have real and valid use-cases for it. Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt