Loading net/ipv4/fib_trie.c +8 −6 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ * Patrick McHardy <kaber@trash.net> */ #define VERSION "0.405" #define VERSION "0.406" #include <linux/config.h> #include <asm/uaccess.h> Loading Loading @@ -84,7 +84,7 @@ #include "fib_lookup.h" #undef CONFIG_IP_FIB_TRIE_STATS #define MAX_CHILDS 16384 #define MAX_STAT_DEPTH 32 #define KEYLENGTH (8*sizeof(t_key)) #define MASK_PFX(k, l) (((l)==0)?0:(k >> (KEYLENGTH-l)) << (KEYLENGTH-l)) Loading Loading @@ -154,7 +154,7 @@ struct trie_stat { unsigned int tnodes; unsigned int leaves; unsigned int nullpointers; unsigned int nodesizes[MAX_CHILDS]; unsigned int nodesizes[MAX_STAT_DEPTH]; }; struct trie { Loading Loading @@ -2080,7 +2080,9 @@ static void trie_collect_stats(struct trie *t, struct trie_stat *s) int i; s->tnodes++; if(tn->bits < MAX_STAT_DEPTH) s->nodesizes[tn->bits]++; for (i = 0; i < (1<<tn->bits); i++) if (!tn->child[i]) s->nullpointers++; Loading Loading @@ -2110,8 +2112,8 @@ static void trie_show_stats(struct seq_file *seq, struct trie_stat *stat) seq_printf(seq, "\tInternal nodes: %d\n\t", stat->tnodes); bytes += sizeof(struct tnode) * stat->tnodes; max = MAX_CHILDS-1; while (max >= 0 && stat->nodesizes[max] == 0) max = MAX_STAT_DEPTH; while (max > 0 && stat->nodesizes[max-1] == 0) max--; pointers = 0; Loading Loading
net/ipv4/fib_trie.c +8 −6 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ * Patrick McHardy <kaber@trash.net> */ #define VERSION "0.405" #define VERSION "0.406" #include <linux/config.h> #include <asm/uaccess.h> Loading Loading @@ -84,7 +84,7 @@ #include "fib_lookup.h" #undef CONFIG_IP_FIB_TRIE_STATS #define MAX_CHILDS 16384 #define MAX_STAT_DEPTH 32 #define KEYLENGTH (8*sizeof(t_key)) #define MASK_PFX(k, l) (((l)==0)?0:(k >> (KEYLENGTH-l)) << (KEYLENGTH-l)) Loading Loading @@ -154,7 +154,7 @@ struct trie_stat { unsigned int tnodes; unsigned int leaves; unsigned int nullpointers; unsigned int nodesizes[MAX_CHILDS]; unsigned int nodesizes[MAX_STAT_DEPTH]; }; struct trie { Loading Loading @@ -2080,7 +2080,9 @@ static void trie_collect_stats(struct trie *t, struct trie_stat *s) int i; s->tnodes++; if(tn->bits < MAX_STAT_DEPTH) s->nodesizes[tn->bits]++; for (i = 0; i < (1<<tn->bits); i++) if (!tn->child[i]) s->nullpointers++; Loading Loading @@ -2110,8 +2112,8 @@ static void trie_show_stats(struct seq_file *seq, struct trie_stat *stat) seq_printf(seq, "\tInternal nodes: %d\n\t", stat->tnodes); bytes += sizeof(struct tnode) * stat->tnodes; max = MAX_CHILDS-1; while (max >= 0 && stat->nodesizes[max] == 0) max = MAX_STAT_DEPTH; while (max > 0 && stat->nodesizes[max-1] == 0) max--; pointers = 0; Loading