tcp_bbr: record "full bw reached" decision in new full_bw_reached bit
authorNeal Cardwell <ncardwell@google.com>
Thu, 7 Dec 2017 17:43:30 +0000 (12:43 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Dec 2017 18:27:43 +0000 (13:27 -0500)
commitc589e69b508d29ed8e644dfecda453f71c02ec27
treef20278d61d285ffb8e5ea44454b8c9a7aa26d0c8
parentd4a7a8893d4cdbc89d79ac4aa704bf8d4b67b368
tcp_bbr: record "full bw reached" decision in new full_bw_reached bit

This commit records the "full bw reached" decision in a new
full_bw_reached bit. This is a pure refactor that does not change the
current behavior, but enables subsequent fixes and improvements.

In particular, this enables simple and clean fixes because the full_bw
and full_bw_cnt can be unconditionally zeroed without worrying about
forgetting that we estimated we filled the pipe in Startup. And it
enables future improvements because multiple code paths can be used
for estimating that we filled the pipe in Startup; any new code paths
only need to set this bit when they think the pipe is full.

Note that this fix intentionally reduces the width of the full_bw_cnt
counter, since we have never used the most significant bit.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_bbr.c