Linux: kernel 4.9: please enable TCP: BBR congestion control algorithm

Created on 9 Jan 2017  Â·  12Comments  Â·  Source: raspberrypi/linux

tcp: BBR congestion control algorithm
Please enable it as it can increase the network speed much.

About BBR :
http://queue.acm.org/detail.cfm?id=3022184
https://lwn.net/Articles/701177/

from the kernel patch description:

This patch series implements a new TCP congestion control algorithm:
BBR (Bottleneck Bandwidth and RTT). A paper with a detailed
description of BBR will be published in ACM Queue, September-October
2016, as "BBR: Congestion-Based Congestion Control". BBR is widely
deployed in production at Google.

Most helpful comment

Options added to 4.9 tree and in latest BRANCH=next rpi-update kernel.
Please report back if you are able to get measurable benefits from using this option.

All 12 comments

+1

+1

Options added to 4.9 tree and in latest BRANCH=next rpi-update kernel.
Please report back if you are able to get measurable benefits from using this option.

Hi,
Just would like to say thank you to Raspberry Pi contributors.

Long story short,

I'm running a socks5 proxy on raspberry pi 3 between two network with very high latency and packet loss rate.
When with old cubic, youtube lags even on 144P.
1080P is now not a problem with BBR.

I think there are definitely obvious measurable benefits for me.

Hi,
Very grateful to upgrade BBR after the speed of the network has undergone a qualitative change in the equipment, the same line environment, the original YouTube only 360P, can now 1440P, the effect is obvious, thanks again.

+1

According to the documentation, BBR should not be used without the fair queue scheduler as it can result in a higher packet loss rate.

I don't think CONFIG_NET_SCH_FQ is currently set as I cannot enable in the stock kernel.

tc qdisc show dev eth0
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

tc qdisc add dev eth0 root fq maxrate 0.1gbit
RTNETLINK answers: No such file or directory

As per commit notes:

NOTE: BBR must be used with the fq qdisc ("man tc-fq") with pacing
enabled, since pacing is integral to the BBR design and
implementation. BBR without pacing would not function properly, and
may incur unnecessary high packet loss rates.

Given the above it would make sense to also set CONFIG_NET_SCH_FQ=m?

I've added CONFIG_NET_SCH_FQ module to 4.9 and 4.10 trees.

Latest BRANCH=next rpi-update firmware has fair queue scheduler module included.

Thanks - can confirm I've been able to enable now

@holywen Everything good? Okay to close?

Yes, Thanks and please close it.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

KevinStartup picture KevinStartup  Â·  6Comments

mi-hol picture mi-hol  Â·  8Comments

awlx picture awlx  Â·  4Comments

ensarkarabudak picture ensarkarabudak  Â·  7Comments

thomasklingbeil picture thomasklingbeil  Â·  4Comments