summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-07-27 00:29:19 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-09-03 09:58:00 +0200
commitdafc95a1e473a0b857af34ecbb17b8b1c90edd75 (patch)
treedf93e277c1adae5f934fe4b418a791e7c46d7b60 /lib
parent7027119349fe919c39a3f75de1f8d77fe6cb1a98 (diff)
downloadlinux-stable-dafc95a1e473a0b857af34ecbb17b8b1c90edd75.tar.gz
linux-stable-dafc95a1e473a0b857af34ecbb17b8b1c90edd75.tar.bz2
linux-stable-dafc95a1e473a0b857af34ecbb17b8b1c90edd75.zip
netfilter: conntrack: collect all entries in one cycle
[ Upstream commit 4608fdfc07e116f9fc0895beb40abad7cdb5ee3d ] Michal Kubecek reports that conntrack gc is responsible for frequent wakeups (every 125ms) on idle systems. On busy systems, timed out entries are evicted during lookup. The gc worker is only needed to remove entries after system becomes idle after a busy period. To resolve this, always scan the entire table. If the scan is taking too long, reschedule so other work_structs can run and resume from next bucket. After a completed scan, wait for 2 minutes before the next cycle. Heuristics for faster re-schedule are removed. GC_SCAN_INTERVAL could be exposed as a sysctl in the future to allow tuning this as-needed or even turn the gc worker off. Reported-by: Michal Kubecek <mkubecek@suse.cz> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions