Subject: Re: [PATCH net-2.6] Re: rib_trie / Fix inflate_threshold_root. Now=15 size=11 bits

From: Jarek Poplawski <[email-masked]>
Date: Tue, 30 Jun 2009 22:14:22 +0200

On Tue, Jun 30, 2009 at 12:48:49PM -0700, David Miller wrote:
> From: Jarek Poplawski <[email-masked]>
> Date: Mon, 29 Jun 2009 10:58:20 +0000
> 
> > On Mon, Jun 29, 2009 at 11:51:52AM +0200, Paweł Staszewski wrote:
> >> I apply this patch
> >>
> >> fib_triestats in attached file :)
> >>
> >>> ------------------->
> >>> ipv4: Fix fib_trie rebalancing, part 3
> >>>
> >>> Alas current delaying of freeing old tnodes by RCU in trie_rebalance
> >>> is still not enough because we can free a top tnode before updating a
> >>> t->trie pointer.
> >>>
> >>> Reported-by: Pawel Staszewski <[email-masked]>
> >>> Signed-off-by: Jarek Poplawski <[email-masked]>
> >>> ---
> > 
> > David, I guess you could add:
> > 
> > Tested-by: Pawel Staszewski <[email-masked]>
> 
> Done, and applied, thanks Jarek.

Btw., a little comment: there are still some issues while trying to
reclaim memory after synchronize_rcu, which means the algorithm is
buggy, or RCU use is still buggy, or maybe some timing because of
synchronize_rcu. Anyway, fib_trie still seems to be safe only with
CONFIG_PREEMPT_NONE, so I have no idea how this should be fixed in
-stables (or why people don't report more this BUG in 2.6.30)...

Thanks,
Jarek P.