aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_core.c
diff options
context:
space:
mode:
authorsubashab@codeaurora.org <subashab@codeaurora.org>2017-07-20 19:42:19 -0600
committerPablo Neira Ayuso <pablo@netfilter.org>2017-07-31 19:03:50 +0200
commita232cd0e0cf1ede77b047bc0c98142cd51f318e3 (patch)
treecb2312ed1a2cc3b29256b62659ff0d842ae5d8d1 /net/netfilter/nf_conntrack_core.c
parent6392c226037c2b90d3062126c65fc354e47156f7 (diff)
downloadlinux-a232cd0e0cf1ede77b047bc0c98142cd51f318e3.tar.gz
netfilter: conntrack: Change to deferable work queue
Delayed workqueue causes wakeups to idle CPUs. This was causing a power impact for devices. Use deferable work queue instead so that gc_worker runs when CPU is active only. Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_conntrack_core.c')
-rw-r--r--net/netfilter/nf_conntrack_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 69746928cc0a78..c6f1cf0bff5694 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -1081,7 +1081,7 @@ static void gc_worker(struct work_struct *work)
static void conntrack_gc_work_init(struct conntrack_gc_work *gc_work)
{
- INIT_DELAYED_WORK(&gc_work->dwork, gc_worker);
+ INIT_DEFERRABLE_WORK(&gc_work->dwork, gc_worker);
gc_work->next_gc_run = HZ;
gc_work->exiting = false;
}