Re: rib_trie / Fix inflate_threshold_root. Now=15 size=11 bits
From: Jarek Poplawski <hidden>
Date: 2009-06-26 21:20:20
On Fri, Jun 26, 2009 at 10:37:13PM +0200, Jarek Poplawski wrote:
On Fri, Jun 26, 2009 at 10:26:53PM +0200, Robert Olsson wrote:quoted
Yes looks like a good solution but maybe it safest to synchronize unconditionally?Hmm... I lost around half an hour for this doubt... Sure! (Unless there are some strange cases which very often create and destroy very small tables?)
...or maybe even only updating such small tables very often? Btw., Robert, I wondered about some design details lately, especially about pointer to a parent. I didn't see it in the basic docs, so it seems it could be avoided. It seems to be a problem with RCU, unless I miss something: if there were no going back from children to parents it seems we could free those "temporary" (created by inflate() and halve() and destroyed before resize() has finished) earlier. Another problem with this, it seems, are possibly false lookups (if we go back to the new parent which doesn't have it's parent or other nodes updated). So, was there so much performance gain to introduce this? Thanks, Jarek P.