Patch "netfilter: conntrack: remove GC_MAX_EVICTS break" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
netfilter: conntrack: remove GC_MAX_EVICTS break
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
netfilter-conntrack-remove-gc_max_evicts-break.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
524b698db06b9b6da7192e749f637904e2f62d7bMon Sep 17 00:00:00 2001
From: Florian Westphal <[email protected]>
Date: Mon, 16 Jan 2017 18:24:56 +0100
Subject: netfilter: conntrack: remove GC_MAX_EVICTS break
From: Florian Westphal <[email protected]>
commit 524b698db06b9b6da7192e749f637904e2f62d7b upstream.
Instead of breaking loop and instant resched, don't bother checking this in first place (the loop calls cond_resched for every bucket anyway).
--- net/netfilter/nf_conntrack_core.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
net/netfilter/nf_conntrack_core.c +2 -5
@@ -88,8 +88,6 @@ static __read_mostly bool nf_conntrack_l#define GC_MAX_BUCKETS_DIV 64u/* upper bound of scan intervals */ #define GC_INTERVAL_MAX (2 * HZ) -/* maximum conntracks to evict per gc run */ -#define GC_MAX_EVICTS 256ustatic struct conntrack_gc_work conntrack_gc_work;
@@ -979,8 +977,7 @@ static void gc_worker(struct work_struct*/ rcu_read_unlock ();cond_resched_rcu_qs (); - }while (++buckets < goal && - expired_count <GC_MAX_EVICTS ); + }while (++buckets < goal);if (gc_work->exiting)return ;
@@ -1005,7 +1002,7 @@ static void gc_worker(struct work_struct* In case we have lots of evictions next scan is done immediately. */ ratio = scanned ? expired_count *100 / scanned :0 ; -if (ratio >=90 || expired_count ==GC_MAX_EVICTS ) { +if (ratio >=90 ) { gc_work->next_gc_run =0 ; next_run =0 ; }else if (expired_count) {
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/netfilter-conntrack-remove-gc_max_evicts-break.patch queue-4.9/netfilter-conntrack-refine-gc-worker-heuristics-redux.patch