page_pool: halve BIAS_MAX for multiple user references of a fragment
authorLiang Chen <liangchen.linux@gmail.com>
Fri, 15 Dec 2023 03:30:09 +0000 (11:30 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Dec 2023 10:56:33 +0000 (10:56 +0000)
Up to now, we were only subtracting from the number of used page fragments
to figure out when a page could be freed or recycled. A following patch
introduces support for multiple users referencing the same fragment. So
reduce the initial page fragments value to half to avoid overflowing.

Signed-off-by: Liang Chen <liangchen.linux@gmail.com>
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Reviewed-by: Mina Almasry <almarsymina@google.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/page_pool.c

index dd5a72533f2b9daed0a5cc44226fffed33c0dbd6..4933762e5a6ba42b0b6ae87fd8f9ecdb55f30cf3 100644 (file)
@@ -28,7 +28,7 @@
 #define DEFER_TIME (msecs_to_jiffies(1000))
 #define DEFER_WARN_INTERVAL (60 * HZ)
 
-#define BIAS_MAX       LONG_MAX
+#define BIAS_MAX       (LONG_MAX >> 1)
 
 #ifdef CONFIG_PAGE_POOL_STATS
 /* alloc_stat_inc is intended to be used in softirq context */