tcp_cubic.c (825e587af2e90e9b953849f3347a01d8f383d577) | tcp_cubic.c (740b0f1841f6e39085b711d41db9ffb07198682b) |
---|---|
1/* 2 * TCP CUBIC: Binary Increase Congestion control for TCP v2.3 3 * Home page: 4 * http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC 5 * This is from the implementation of CUBIC TCP in 6 * Sangtae Ha, Injong Rhee and Lisong Xu, 7 * "CUBIC: A New TCP-Friendly High-Speed TCP Variant" 8 * in ACM SIGOPS Operating System Review, July 2008. --- 462 unchanged lines hidden (view full) --- 471 */ 472 473 /* 1/c * 2^2*bictcp_HZ * srtt */ 474 cube_factor = 1ull << (10+3*BICTCP_HZ); /* 2^40 */ 475 476 /* divide by bic_scale and by constant Srtt (100ms) */ 477 do_div(cube_factor, bic_scale * 10); 478 | 1/* 2 * TCP CUBIC: Binary Increase Congestion control for TCP v2.3 3 * Home page: 4 * http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC 5 * This is from the implementation of CUBIC TCP in 6 * Sangtae Ha, Injong Rhee and Lisong Xu, 7 * "CUBIC: A New TCP-Friendly High-Speed TCP Variant" 8 * in ACM SIGOPS Operating System Review, July 2008. --- 462 unchanged lines hidden (view full) --- 471 */ 472 473 /* 1/c * 2^2*bictcp_HZ * srtt */ 474 cube_factor = 1ull << (10+3*BICTCP_HZ); /* 2^40 */ 475 476 /* divide by bic_scale and by constant Srtt (100ms) */ 477 do_div(cube_factor, bic_scale * 10); 478 |
479 /* hystart needs ms clock resolution */ 480 if (hystart && HZ < 1000) 481 cubictcp.flags |= TCP_CONG_RTT_STAMP; 482 | |
483 return tcp_register_congestion_control(&cubictcp); 484} 485 486static void __exit cubictcp_unregister(void) 487{ 488 tcp_unregister_congestion_control(&cubictcp); 489} 490 491module_init(cubictcp_register); 492module_exit(cubictcp_unregister); 493 494MODULE_AUTHOR("Sangtae Ha, Stephen Hemminger"); 495MODULE_LICENSE("GPL"); 496MODULE_DESCRIPTION("CUBIC TCP"); 497MODULE_VERSION("2.3"); | 479 return tcp_register_congestion_control(&cubictcp); 480} 481 482static void __exit cubictcp_unregister(void) 483{ 484 tcp_unregister_congestion_control(&cubictcp); 485} 486 487module_init(cubictcp_register); 488module_exit(cubictcp_unregister); 489 490MODULE_AUTHOR("Sangtae Ha, Stephen Hemminger"); 491MODULE_LICENSE("GPL"); 492MODULE_DESCRIPTION("CUBIC TCP"); 493MODULE_VERSION("2.3"); |