Dave. Can you apply?
Signed-off-by: Robert Olsson <[EMAIL PROTECTED]>
Thanks.
--ro
Stephen Hemminger writes:
> This is a redo of earlier cleanup stuff:
> * replace DBG() macro with pr_debug()
> * get rid of duplicate extern's that are already in fib_lookup.h
> * use BUG_ON and WARN_ON
> * don't use BUG checks for null pointers where next statement would
> get a fault anyway
> * remove debug printout when rebalance causes deep tree
> * remove trailing blanks
>
> Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
> ---
>
> net/ipv4/fib_trie.c | 100
> ++++++++++++++++-----------------------------------
> 1 files changed, 31 insertions(+), 69 deletions(-)
>
> diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
> --- a/net/ipv4/fib_trie.c
> +++ b/net/ipv4/fib_trie.c
> @@ -157,10 +157,6 @@ struct trie {
> unsigned int revision;
> };
>
> -static int trie_debug = 0;
> -
> -#define DBG(x...) do { if (trie_debug) printk(x); } while (0)
> -
> static void put_child(struct trie *t, struct tnode *tn, int i, struct node
> *n);
> static void tnode_put_child_reorg(struct tnode *tn, int i, struct node *n,
> int wasfull);
> static struct node *resize(struct trie *t, struct tnode *tn);
> @@ -168,12 +164,6 @@ static struct tnode *inflate(struct trie
> static struct tnode *halve(struct trie *t, struct tnode *tn);
> static void tnode_free(struct tnode *tn);
> static void trie_dump_seq(struct seq_file *seq, struct trie *t);
> -extern struct fib_alias *fib_find_alias(struct list_head *fah, u8 tos, u32
> prio);
> -extern int fib_detect_death(struct fib_info *fi, int order,
> - struct fib_info **last_resort, int *last_idx, int
> *dflt);
> -
> -extern void rtmsg_fib(int event, u32 key, struct fib_alias *fa, int z, int
> tb_id,
> - struct nlmsghdr *n, struct netlink_skb_parms *req);
>
> static kmem_cache_t *fn_alias_kmem;
> static struct trie *trie_local = NULL, *trie_main = NULL;
> @@ -294,11 +284,9 @@ static void fn_free_alias(struct fib_ali
>
> */
>
> -static void check_tnode(struct tnode *tn)
> +static inline void check_tnode(const struct tnode *tn)
> {
> - if (tn && tn->pos+tn->bits > 32) {
> - printk("TNODE ERROR tn=%p, pos=%d, bits=%d\n", tn, tn->pos,
> tn->bits);
> - }
> + WARN_ON(tn && tn->pos+tn->bits > 32);
> }
>
> static int halve_threshold = 25;
> @@ -374,21 +362,19 @@ static struct tnode* tnode_new(t_key key
> tn->empty_children = 1<<bits;
> }
>
> - DBG("AT %p s=%u %u\n", tn, (unsigned int) sizeof(struct tnode),
> - (unsigned int) (sizeof(struct node) * 1<<bits));
> + pr_debug("AT %p s=%u %u\n", tn, (unsigned int) sizeof(struct tnode),
> + (unsigned int) (sizeof(struct node) * 1<<bits));
> return tn;
> }
>
> static void tnode_free(struct tnode *tn)
> {
> - BUG_ON(!tn);
> -
> if (IS_LEAF(tn)) {
> free_leaf((struct leaf *)tn);
> - DBG("FL %p \n", tn);
> + pr_debug("FL %p \n", tn);
> } else {
> __tnode_free(tn);
> - DBG("FT %p \n", tn);
> + pr_debug("FT %p \n", tn);
> }
> }
>
> @@ -420,10 +406,8 @@ static void tnode_put_child_reorg(struct
> struct node *chi;
> int isfull;
>
> - if (i >= 1<<tn->bits) {
> - printk("bits=%d, i=%d\n", tn->bits, i);
> - BUG();
> - }
> + BUG_ON(i >= 1<<tn->bits);
> +
> write_lock_bh(&fib_lock);
> chi = tn->child[i];
>
> @@ -459,8 +443,8 @@ static struct node *resize(struct trie *
> if (!tn)
> return NULL;
>
> - DBG("In tnode_resize %p inflate_threshold=%d threshold=%d\n",
> - tn, inflate_threshold, halve_threshold);
> + pr_debug("In tnode_resize %p inflate_threshold=%d threshold=%d\n",
> + tn, inflate_threshold, halve_threshold);
>
> /* No children */
> if (tn->empty_children == tnode_child_length(tn)) {
> @@ -625,11 +609,11 @@ static struct tnode *inflate(struct trie
> int olen = tnode_child_length(tn);
> int i;
>
> - DBG("In inflate\n");
> + pr_debug("In inflate\n");
>
> tn = tnode_new(oldtnode->key, oldtnode->pos, oldtnode->bits + 1);
>
> - if (!tn)
> + if (!tn)
> return ERR_PTR(-ENOMEM);
>
> /*
> @@ -749,12 +733,12 @@ nomem:
> int size = tnode_child_length(tn);
> int j;
>
> - for(j = 0; j < size; j++)
> + for (j = 0; j < size; j++)
> if (tn->child[j])
> tnode_free((struct tnode *)tn->child[j]);
>
> tnode_free(tn);
> -
> +
> return ERR_PTR(-ENOMEM);
> }
> }
> @@ -766,7 +750,7 @@ static struct tnode *halve(struct trie *
> int i;
> int olen = tnode_child_length(tn);
>
> - DBG("In halve\n");
> + pr_debug("In halve\n");
>
> tn = tnode_new(oldtnode->key, oldtnode->pos, oldtnode->bits - 1);
>
> @@ -785,14 +769,14 @@ static struct tnode *halve(struct trie *
> right = tnode_get_child(oldtnode, i+1);
>
> /* Two nonempty children */
> - if (left && right) {
> + if (left && right) {
> struct tnode *newn;
> -
> +
> newn = tnode_new(left->key, tn->pos + tn->bits, 1);
> -
> - if (!newn)
> +
> + if (!newn)
> goto nomem;
> -
> +
> put_child(t, tn, i/2, (struct node *)newn);
> }
>
> @@ -810,7 +794,7 @@ static struct tnode *halve(struct trie *
> continue;
> put_child(t, tn, i/2, right);
> continue;
> - }
> + }
>
> if (right == NULL) {
> put_child(t, tn, i/2, left);
> @@ -820,9 +804,6 @@ static struct tnode *halve(struct trie *
> /* Two nonempty children */
> newBinNode = (struct tnode *) tnode_get_child(tn, i/2);
> put_child(t, tn, i/2, NULL);
> -
> - BUG_ON(!newBinNode);
> -
> put_child(t, newBinNode, 0, left);
> put_child(t, newBinNode, 1, right);
> put_child(t, tn, i/2, resize(t, newBinNode));
> @@ -834,12 +815,12 @@ nomem:
> int size = tnode_child_length(tn);
> int j;
>
> - for(j = 0; j < size; j++)
> + for (j = 0; j < size; j++)
> if (tn->child[j])
> tnode_free((struct tnode *)tn->child[j]);
>
> tnode_free(tn);
> -
> +
> return ERR_PTR(-ENOMEM);
> }
> }
> @@ -939,22 +920,10 @@ static struct node *trie_rebalance(struc
> t_key cindex, key;
> struct tnode *tp = NULL;
>
> - BUG_ON(!tn);
> -
> key = tn->key;
> i = 0;
>
> while (tn != NULL && NODE_PARENT(tn) != NULL) {
> - if (i > 10) {
> - printk("Rebalance tn=%p \n", tn);
> - if (tn)
> - printk("tn->parent=%p \n", NODE_PARENT(tn));
> -
> - printk("Rebalance tp=%p \n", tp);
> - if (tp)
> - printk("tp->parent=%p \n", NODE_PARENT(tp));
> - }
> -
> BUG_ON(i > 12); /* Why is this a bug? -ojn */
> i++;
>
> @@ -1019,10 +988,7 @@ fib_insert_node(struct trie *t, int *err
> pos = tn->pos + tn->bits;
> n = tnode_get_child(tn, tkey_extract_bits(key, tn->pos,
> tn->bits));
>
> - if (n && NODE_PARENT(n) != tn) {
> - printk("BUG tn=%p, n->parent=%p\n", tn,
> NODE_PARENT(n));
> - BUG();
> - }
> + BUG_ON(n && NODE_PARENT(n) != tn);
> } else
> break;
> }
> @@ -1076,8 +1042,6 @@ fib_insert_node(struct trie *t, int *err
>
> NODE_SET_PARENT(l, tp);
>
> - BUG_ON(!tp);
> -
> cindex = tkey_extract_bits(key, tp->pos, tp->bits);
> put_child(t, (struct tnode *)tp, cindex, (struct node *)l);
> } else {
> @@ -1158,7 +1122,7 @@ fn_trie_insert(struct fib_table *tb, str
>
> key = ntohl(key);
>
> - DBG("Insert table=%d %08x/%d\n", tb->tb_id, key, plen);
> + pr_debug("Insert table=%d %08x/%d\n", tb->tb_id, key, plen);
>
> mask = ntohl(inet_make_mask(plen));
>
> @@ -1282,7 +1246,8 @@ err:
> return err;
> }
>
> -static inline int check_leaf(struct trie *t, struct leaf *l, t_key key,
> int *plen, const struct flowi *flp,
> +static inline int check_leaf(struct trie *t, struct leaf *l,
> + t_key key, int *plen, const struct flowi *flp,
> struct fib_result *res, int *err)
> {
> int i;
> @@ -1511,7 +1476,7 @@ static int trie_leaf_remove(struct trie
> struct node *n = t->trie;
> struct leaf *l;
>
> - DBG("entering trie_leaf_remove(%p)\n", n);
> + pr_debug("entering trie_leaf_remove(%p)\n", n);
>
> /* Note that in the case skipped bits, those bits are *not* checked!
> * When we finish this, we will have NULL or a T_LEAF, and the
> @@ -1523,10 +1488,7 @@ static int trie_leaf_remove(struct trie
> check_tnode(tn);
> n = tnode_get_child(tn ,tkey_extract_bits(key, tn->pos,
> tn->bits));
>
> - if (n && NODE_PARENT(n) != tn) {
> - printk("BUG tn=%p, n->parent=%p\n", tn, NODE_PARENT(n));
> - BUG();
> - }
> + BUG_ON(n && NODE_PARENT(n) != tn);
> }
> l = (struct leaf *) n;
>
> @@ -1594,7 +1556,7 @@ fn_trie_delete(struct fib_table *tb, str
> if (!fa)
> return -ESRCH;
>
> - DBG("Deleting %08x/%d tos=%d t=%p\n", key, plen, tos, t);
> + pr_debug("Deleting %08x/%d tos=%d t=%p\n", key, plen, tos, t);
>
> fa_to_delete = NULL;
> fa_head = fa->fa_list.prev;
> @@ -1762,7 +1724,7 @@ static int fn_trie_flush(struct fib_tabl
> if (ll && hlist_empty(&ll->list))
> trie_leaf_remove(t, ll->key);
>
> - DBG("trie_flush found=%d\n", found);
> + pr_debug("trie_flush found=%d\n", found);
> return found;
> }
>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html