ipv4: Fix inflate_threshold_root automatically
authorJarek Poplawski <jarkao2@gmail.com>
Tue, 14 Jul 2009 09:41:00 +0000 (09:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jul 2009 14:39:29 +0000 (07:39 -0700)
commitbe916cdebe4dc720a23b1a9bb589f2c22afd6589
tree310a6de2576aaf6e5a87463ee89bf7bea745badd
parentc3059477fce2d956a0bb3e04357324780c5d8eeb
ipv4: Fix inflate_threshold_root automatically

During large updates there could be triggered warnings like: "Fix
inflate_threshold_root. Now=25 size=11 bits" if inflate() of the root
node isn't finished in 10 loops. It should be much rarer now, after
changing the threshold from 15 to 25, and a temporary problem, so
this patch tries to handle it automatically using a fix variable to
increase by one inflate threshold for next root resizes (up to the 35
limit, max fix = 10). The fix variable is decreased when root's
inflate() finishes below 7 loops (even if some other, smaller table/
trie is updated -- for simplicity the fix variable is global for now).

Reported-by: Pawel Staszewski <pstaszewski@itcare.pl>
Reported-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Tested-by: Pawel Staszewski <pstaszewski@itcare.pl>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_trie.c