OSDN Git Service

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)
commit2232642ec3fb4aad6ae4da1e109f55a0e7f2d204
tree23d4ce8562232628c0f5b385d1c20515890d9f3d
parentc514fbb6231483b05c97eb22587188d4c453b28e
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