]> git.baikalelectronics.ru Git - kernel.git/commit
ipvs: add sysctl_run_estimation to support disable estimation
authorDust Li <dust.li@linux.alibaba.com>
Fri, 20 Aug 2021 05:37:52 +0000 (13:37 +0800)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 7 Oct 2021 17:52:58 +0000 (19:52 +0200)
commit08767171e39578e86b0b622ca31ec0ab7f390875
tree23d4ce8562232628c0f5b385d1c20515890d9f3d
parent90f83e9ed70cbfca5f5c75ff78850fc4c1852dc9
ipvs: add sysctl_run_estimation to support disable estimation

estimation_timer will iterate the est_list to do estimation
for each ipvs stats. When there are lots of services, the
list can be very large.
We found that estimation_timer() run for more then 200ms on a
machine with 104 CPU and 50K services.

yunhong-cgl jiang report the same phenomenon before:
https://www.spinics.net/lists/lvs-devel/msg05426.html

In some cases(for example a large K8S cluster with many ipvs services),
ipvs estimation may not be needed. So adding a sysctl blob to allow
users to disable this completely.

Default is: 1 (enable)

Cc: yunhong-cgl jiang <xintian1976@gmail.com>
Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Documentation/networking/ipvs-sysctl.rst
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/ipvs/ip_vs_est.c