Messages in this thread Patch in this message | | | From | Dmitry Safonov <> | Subject | [RFC 3/4] net/fib: Check budget before should_{inflate,halve}() | Date | Tue, 26 Mar 2019 15:30:24 +0000 |
| |
Those functions are compute-costly, if we're out of budget - better omit additional computations.
Signed-off-by: Dmitry Safonov <dima@arista.com> --- net/ipv4/fib_trie.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index d90cf9dfd443..2ce2739e7693 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c @@ -868,7 +868,7 @@ static struct key_vector *resize(struct trie *t, struct key_vector *tn, /* Double as long as the resulting node has a number of * nonempty nodes that are above the threshold. */ - while (should_inflate(tp, tn) && *budget) { + while (*budget && should_inflate(tp, tn)) { tp = inflate(t, tn, budget); if (!tp) { #ifdef CONFIG_IP_FIB_TRIE_STATS @@ -894,7 +894,7 @@ static struct key_vector *resize(struct trie *t, struct key_vector *tn, /* Halve as long as the number of empty children in this * node is above threshold. */ - while (should_halve(tp, tn) && *budget) { + while (*budget && should_halve(tp, tn)) { tp = halve(t, tn, budget); if (!tp) { #ifdef CONFIG_IP_FIB_TRIE_STATS -- 2.21.0
| |