Ema has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/351707 )
Change subject: BBR Congestion Control ...................................................................... BBR Congestion Control Introduce a boolean hiera flag called 'bbr_congestion_control', defaulting to false, to enable BBR for TCP Congestion Control. When using BBR, the packet scheduler needs to be set to 'fq' as the FQ/pacing queuing discipline is the main mechanism used by BBR on Linux to send out data at the proper rate, instead of relying only on the TCP congestion window. Bug: T147569 Ref: https://lwn.net/Articles/701165/ Change-Id: Idf8416bb1e70dfca1fef5ac8286cc701b68455ac --- M hieradata/hosts/cp1008.yaml M modules/base/manifests/sysctl.pp 2 files changed, 24 insertions(+), 0 deletions(-) Approvals: Muehlenhoff: Looks good to me, but someone else must approve Ema: Verified; Looks good to me, approved BBlack: Looks good to me, but someone else must approve diff --git a/hieradata/hosts/cp1008.yaml b/hieradata/hosts/cp1008.yaml index 4b128a5..77e4678 100644 --- a/hieradata/hosts/cp1008.yaml +++ b/hieradata/hosts/cp1008.yaml @@ -1,6 +1,7 @@ debdeploy::grains: debdeploy-cp: value: canary +bbr_congestion_control: true varnish::dynamic_backend_caches: false cache::text::nodes: eqiad: diff --git a/modules/base/manifests/sysctl.pp b/modules/base/manifests/sysctl.pp index aecde53..5cb135f 100644 --- a/modules/base/manifests/sysctl.pp +++ b/modules/base/manifests/sysctl.pp @@ -106,4 +106,27 @@ }, } } + + # BBR congestion control (T147569) + # https://lwn.net/Articles/701165/ + # + # The BBR TCP congestion control algorithm is based on Bottleneck + # Bandwidth, i.e. the estimated bandwidth of the slowest link, and + # Round-Trip Time to control outgoing traffic. Other algorithms such as + # CUBIC (default on Linux since 2.6.19) and Reno are instead based on + # packet loss. + # + # To send out data at the proper rate, BBR uses the tc-fq packet scheduler + # instead of the TCP congestion window. + # + # It has been added to Linux in version 4.9. + $use_bbr = hiera('bbr_congestion_control', false) + if ($use_bbr) and (versioncmp($::kernelversion, '4.9') >= 0) { + sysctl::parameters { 'tcp_bbr': + values => { + 'net.core.default_qdisc' => 'fq', + 'net.ipv4.tcp_congestion_control' => 'bbr', + }, + } + } } -- To view, visit https://gerrit.wikimedia.org/r/351707 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Idf8416bb1e70dfca1fef5ac8286cc701b68455ac Gerrit-PatchSet: 5 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Ema <[email protected]> Gerrit-Reviewer: BBlack <[email protected]> Gerrit-Reviewer: Ema <[email protected]> Gerrit-Reviewer: Faidon Liambotis <[email protected]> Gerrit-Reviewer: Muehlenhoff <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
