aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch')
-rw-r--r--pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch b/pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch
new file mode 100644
index 0000000..134e210
--- /dev/null
+++ b/pkgs/patches-linux-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch
@@ -0,0 +1,25 @@
+From 804fbb3f2ec9283f7b778e057a68bfff440a0be6 Mon Sep 17 00:00:00 2001
+From: Rui Salvaterra <rsalvaterra@gmail.com>
+Date: Wed, 30 Mar 2022 22:51:55 +0100
+Subject: [PATCH] kernel: ct: size the hashtable more adequately
+
+To set the default size of the connection tracking hash table, a divider of
+16384 becomes inadequate for a router handling lots of connections. Divide by
+2048 instead, making the default size scale better with the available RAM.
+
+Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
+---
+ net/netfilter/nf_conntrack_core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/netfilter/nf_conntrack_core.c
++++ b/net/netfilter/nf_conntrack_core.c
+@@ -2727,7 +2727,7 @@ int nf_conntrack_init_start(void)
+
+ if (!nf_conntrack_htable_size) {
+ nf_conntrack_htable_size
+- = (((nr_pages << PAGE_SHIFT) / 16384)
++ = (((nr_pages << PAGE_SHIFT) / 2048)
+ / sizeof(struct hlist_head));
+ if (BITS_PER_LONG >= 64 &&
+ nr_pages > (4 * (1024 * 1024 * 1024 / PAGE_SIZE)))