Loading net/ipv4/fib_trie.c +21 −2 Original line number Diff line number Diff line Loading @@ -286,6 +286,8 @@ static inline void check_tnode(const struct tnode *tn) static int halve_threshold = 25; static int inflate_threshold = 50; static int halve_threshold_root = 15; static int inflate_threshold_root = 25; static void __alias_free_mem(struct rcu_head *head) Loading Loading @@ -449,6 +451,8 @@ static struct node *resize(struct trie *t, struct tnode *tn) int i; int err = 0; struct tnode *old_tn; int inflate_threshold_use; int halve_threshold_use; if (!tn) return NULL; Loading Loading @@ -541,10 +545,17 @@ static struct node *resize(struct trie *t, struct tnode *tn) check_tnode(tn); /* Keep root node larger */ if(!tn->parent) inflate_threshold_use = inflate_threshold_root; else inflate_threshold_use = inflate_threshold; err = 0; while ((tn->full_children > 0 && 50 * (tn->full_children + tnode_child_length(tn) - tn->empty_children) >= inflate_threshold * tnode_child_length(tn))) { inflate_threshold_use * tnode_child_length(tn))) { old_tn = tn; tn = inflate(t, tn); Loading @@ -564,10 +575,18 @@ static struct node *resize(struct trie *t, struct tnode *tn) * node is above threshold. */ /* Keep root node larger */ if(!tn->parent) halve_threshold_use = halve_threshold_root; else halve_threshold_use = halve_threshold; err = 0; while (tn->bits > 1 && 100 * (tnode_child_length(tn) - tn->empty_children) < halve_threshold * tnode_child_length(tn)) { halve_threshold_use * tnode_child_length(tn)) { old_tn = tn; tn = halve(t, tn); Loading net/ipv6/udp.c +3 −1 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) next:; } result = best; for(;; result += UDP_HTABLE_SIZE) { for(i = 0; i < (1 << 16) / UDP_HTABLE_SIZE; i++, result += UDP_HTABLE_SIZE) { if (result > sysctl_local_port_range[1]) result = sysctl_local_port_range[0] + ((result - sysctl_local_port_range[0]) & Loading @@ -107,6 +107,8 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) if (!udp_lport_inuse(result)) break; } if (i >= (1 << 16) / UDP_HTABLE_SIZE) goto fail; gotit: udp_port_rover = snum = result; } else { Loading Loading
net/ipv4/fib_trie.c +21 −2 Original line number Diff line number Diff line Loading @@ -286,6 +286,8 @@ static inline void check_tnode(const struct tnode *tn) static int halve_threshold = 25; static int inflate_threshold = 50; static int halve_threshold_root = 15; static int inflate_threshold_root = 25; static void __alias_free_mem(struct rcu_head *head) Loading Loading @@ -449,6 +451,8 @@ static struct node *resize(struct trie *t, struct tnode *tn) int i; int err = 0; struct tnode *old_tn; int inflate_threshold_use; int halve_threshold_use; if (!tn) return NULL; Loading Loading @@ -541,10 +545,17 @@ static struct node *resize(struct trie *t, struct tnode *tn) check_tnode(tn); /* Keep root node larger */ if(!tn->parent) inflate_threshold_use = inflate_threshold_root; else inflate_threshold_use = inflate_threshold; err = 0; while ((tn->full_children > 0 && 50 * (tn->full_children + tnode_child_length(tn) - tn->empty_children) >= inflate_threshold * tnode_child_length(tn))) { inflate_threshold_use * tnode_child_length(tn))) { old_tn = tn; tn = inflate(t, tn); Loading @@ -564,10 +575,18 @@ static struct node *resize(struct trie *t, struct tnode *tn) * node is above threshold. */ /* Keep root node larger */ if(!tn->parent) halve_threshold_use = halve_threshold_root; else halve_threshold_use = halve_threshold; err = 0; while (tn->bits > 1 && 100 * (tnode_child_length(tn) - tn->empty_children) < halve_threshold * tnode_child_length(tn)) { halve_threshold_use * tnode_child_length(tn)) { old_tn = tn; tn = halve(t, tn); Loading
net/ipv6/udp.c +3 −1 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) next:; } result = best; for(;; result += UDP_HTABLE_SIZE) { for(i = 0; i < (1 << 16) / UDP_HTABLE_SIZE; i++, result += UDP_HTABLE_SIZE) { if (result > sysctl_local_port_range[1]) result = sysctl_local_port_range[0] + ((result - sysctl_local_port_range[0]) & Loading @@ -107,6 +107,8 @@ static int udp_v6_get_port(struct sock *sk, unsigned short snum) if (!udp_lport_inuse(result)) break; } if (i >= (1 << 16) / UDP_HTABLE_SIZE) goto fail; gotit: udp_port_rover = snum = result; } else { Loading