aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/fib_trie.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 7e9031739f06..80892f565030 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -752,7 +752,7 @@ static void resize(struct trie *t, struct tnode *tn)
752{ 752{
753 struct tnode *tp = node_parent(tn), *n = NULL; 753 struct tnode *tp = node_parent(tn), *n = NULL;
754 struct tnode __rcu **cptr; 754 struct tnode __rcu **cptr;
755 int max_work; 755 int max_work = MAX_WORK;
756 756
757 pr_debug("In tnode_resize %p inflate_threshold=%d threshold=%d\n", 757 pr_debug("In tnode_resize %p inflate_threshold=%d threshold=%d\n",
758 tn, inflate_threshold, halve_threshold); 758 tn, inflate_threshold, halve_threshold);
@@ -775,8 +775,7 @@ static void resize(struct trie *t, struct tnode *tn)
775 /* Double as long as the resulting node has a number of 775 /* Double as long as the resulting node has a number of
776 * nonempty nodes that are above the threshold. 776 * nonempty nodes that are above the threshold.
777 */ 777 */
778 max_work = MAX_WORK; 778 while (should_inflate(tp, tn) && max_work) {
779 while (should_inflate(tp, tn) && max_work--) {
780 if (inflate(t, tn)) { 779 if (inflate(t, tn)) {
781#ifdef CONFIG_IP_FIB_TRIE_STATS 780#ifdef CONFIG_IP_FIB_TRIE_STATS
782 this_cpu_inc(t->stats->resize_node_skipped); 781 this_cpu_inc(t->stats->resize_node_skipped);
@@ -784,6 +783,7 @@ static void resize(struct trie *t, struct tnode *tn)
784 break; 783 break;
785 } 784 }
786 785
786 max_work--;
787 tn = rtnl_dereference(*cptr); 787 tn = rtnl_dereference(*cptr);
788 } 788 }
789 789
@@ -794,8 +794,7 @@ static void resize(struct trie *t, struct tnode *tn)
794 /* Halve as long as the number of empty children in this 794 /* Halve as long as the number of empty children in this
795 * node is above threshold. 795 * node is above threshold.
796 */ 796 */
797 max_work = MAX_WORK; 797 while (should_halve(tp, tn) && max_work) {
798 while (should_halve(tp, tn) && max_work--) {
799 if (halve(t, tn)) { 798 if (halve(t, tn)) {
800#ifdef CONFIG_IP_FIB_TRIE_STATS 799#ifdef CONFIG_IP_FIB_TRIE_STATS
801 this_cpu_inc(t->stats->resize_node_skipped); 800 this_cpu_inc(t->stats->resize_node_skipped);
@@ -803,6 +802,7 @@ static void resize(struct trie *t, struct tnode *tn)
803 break; 802 break;
804 } 803 }
805 804
805 max_work--;
806 tn = rtnl_dereference(*cptr); 806 tn = rtnl_dereference(*cptr);
807 } 807 }
808 808