net/dst: use a smaller percpu_counter batch for dst entries accounting
stable inclusion from stable-v4.19.304 commit 9635bd0a5296e2e725c6b33e530d0ef582e2f64e category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I90HST Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9635bd0a5296e2e725c6b33e530d0ef582e2f64e -------------------------------- commit cf86a086 upstream. percpu_counter_add() uses a default batch size which is quite big on platforms with 256 cpus. (2*256 -> 512) This means dst_entries_get_fast() can be off by +/- 2*(nr_cpus^2) (131072 on servers with 256 cpus) Reduce the batch size to something more reasonable, and add logic to ip6_dst_gc() to call dst_entries_get_slow() before calling the _very_ expensive fib6_run_gc() function. Signed-off-by:Eric Dumazet <edumazet@google.com> Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Suraj Jitindar Singh <surajjs@amazon.com> Cc: <stable@vger.kernel.org> # 4.19.x Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Dong Chenchen <dongchenchen2@huawei.com>
Loading
Please sign in to comment