| 2684 | } |
| 2685 | |
| 2686 | static uint32_t |
| 2687 | rack_decrease_highrtt(struct tcp_rack *rack, uint32_t curper, uint32_t rtt) |
| 2688 | { |
| 2689 | /* |
| 2690 | * highrttthresh |
| 2691 | * result = curper * (1 - (B * ( 1 - ------ )) |
| 2692 | * gp_srtt |
| 2693 | * |
| 2694 | * B = rack_gp_decrease_per (default 10%) |
| 2695 | * highrttthresh = filter_min * rack_gp_rtt_maxmul |
| 2696 | */ |
| 2697 | uint64_t perf; |
| 2698 | uint32_t highrttthresh; |
| 2699 | |
| 2700 | highrttthresh = get_filter_value_small(&rack->r_ctl.rc_gp_min_rtt) * rack_gp_rtt_maxmul; |
| 2701 | |
| 2702 | perf = (((uint64_t)curper * ((uint64_t)1000000 - |
| 2703 | ((uint64_t)rack_gp_decrease_per * ((uint64_t)1000000 - |
| 2704 | ((uint64_t)highrttthresh * (uint64_t)1000000) / |
| 2705 | (uint64_t)rtt)) / 100)) /(uint64_t)1000000); |
| 2706 | return (perf); |
| 2707 | } |
| 2708 | |
| 2709 | static void |
| 2710 | rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32_t rtt_diff) |
no test coverage detected