Commit e1c3e7ab authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

[TCP]: cubic update for net-2.6.22

The following update received from Injong updates TCP cubic to the latest
version. I am running more complete tests and will have results after 4/1.

According to Injong: the new version improves on its scalability,
fairness and stability.  So in all properties, we confirmed it shows better
performance.

NCSU results (for 2.6.18 and 2.6.20) available:
	http://netsrv.csc.ncsu.edu/wiki/index.php/TCP_Testing

This version is described in a new Internet draft for CUBIC.
	http://www.ietf.org/internet-drafts/draft-rhee-tcp-cubic-00.txtSigned-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9af3912e
/* /*
* TCP CUBIC: Binary Increase Congestion control for TCP v2.0 * TCP CUBIC: Binary Increase Congestion control for TCP v2.1
* *
* This is from the implementation of CUBIC TCP in * This is from the implementation of CUBIC TCP in
* Injong Rhee, Lisong Xu. * Injong Rhee, Lisong Xu.
...@@ -214,7 +214,9 @@ static inline void bictcp_update(struct bictcp *ca, u32 cwnd) ...@@ -214,7 +214,9 @@ static inline void bictcp_update(struct bictcp *ca, u32 cwnd)
if (ca->delay_min > 0) { if (ca->delay_min > 0) {
/* max increment = Smax * rtt / 0.1 */ /* max increment = Smax * rtt / 0.1 */
min_cnt = (cwnd * HZ * 8)/(10 * max_increment * ca->delay_min); min_cnt = (cwnd * HZ * 8)/(10 * max_increment * ca->delay_min);
if (ca->cnt < min_cnt)
/* use concave growth when the target is above the origin */
if (ca->cnt < min_cnt && t >= ca->bic_K)
ca->cnt = min_cnt; ca->cnt = min_cnt;
} }
...@@ -400,4 +402,4 @@ module_exit(cubictcp_unregister); ...@@ -400,4 +402,4 @@ module_exit(cubictcp_unregister);
MODULE_AUTHOR("Sangtae Ha, Stephen Hemminger"); MODULE_AUTHOR("Sangtae Ha, Stephen Hemminger");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("CUBIC TCP"); MODULE_DESCRIPTION("CUBIC TCP");
MODULE_VERSION("2.0"); MODULE_VERSION("2.1");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment