Lines Matching refs:cubic_data

238 	struct cubic *cubic_data;  in cubic_ack_received()  local
244 cubic_data = ccv->cc_data; in cubic_ack_received()
255 cubic_data->min_rtt_usecs == TCPTV_SRTTBASE) { in cubic_ack_received()
256 cubic_does_slow_start(ccv, cubic_data); in cubic_ack_received()
258 if (cubic_data->flags & CUBICFLAG_HYSTART_IN_CSS) { in cubic_ack_received()
264 cubic_data->flags &= ~CUBICFLAG_HYSTART_IN_CSS; in cubic_ack_received()
266 cubic_data->flags &= ~CUBICFLAG_HYSTART_ENABLED; in cubic_ack_received()
267 cubic_log_hystart_event(ccv, cubic_data, 11, CCV(ccv, snd_ssthresh)); in cubic_ack_received()
269 if (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART | in cubic_ack_received()
281 cubic_data->t_epoch = ticks; in cubic_ack_received()
282 cubic_data->cwnd_epoch = cwin; in cubic_ack_received()
283 cubic_data->K = cubic_k(cubic_data->W_max / mss, in cubic_ack_received()
284 cubic_data->cwnd_epoch / mss); in cubic_ack_received()
285 cubic_data->flags &= ~(CUBICFLAG_IN_SLOWSTART | in cubic_ack_received()
289 if (cubic_data->flags & CUBICFLAG_RTO_EVENT) { in cubic_ack_received()
291 cubic_data->flags &= ~CUBICFLAG_RTO_EVENT; in cubic_ack_received()
292 cubic_data->W_max = cwin; in cubic_ack_received()
293 cubic_data->K = 0; in cubic_ack_received()
296 usecs_since_epoch = (ticks - cubic_data->t_epoch) * tick; in cubic_ack_received()
302 cubic_data->t_epoch = ticks - INT_MAX; in cubic_ack_received()
309 cubic_data->mean_rtt_usecs, in cubic_ack_received()
310 cubic_data->W_max, in cubic_ack_received()
312 cubic_data->K); in cubic_ack_received()
317 cubic_data->flags |= CUBICFLAG_IN_TF; in cubic_ack_received()
337 cubic_data->flags |= CUBICFLAG_IN_APPLIMIT; in cubic_ack_received()
349 struct cubic *cubic_data = ccv->cc_data; in cubic_after_idle() local
352 cubic_data->W_max = ulmax(cubic_data->W_max, CCV(ccv, snd_cwnd)); in cubic_after_idle()
353 cubic_data->K = cubic_k(cubic_data->W_max / mss, cubic_data->cwnd_epoch / mss); in cubic_after_idle()
354 if ((cubic_data->flags & CUBICFLAG_HYSTART_ENABLED) == 0) { in cubic_after_idle()
358 cubic_data->flags &= ~CUBICFLAG_HYSTART_IN_CSS; in cubic_after_idle()
359 cubic_data->flags |= CUBICFLAG_HYSTART_ENABLED; in cubic_after_idle()
360 cubic_log_hystart_event(ccv, cubic_data, 12, CCV(ccv, snd_ssthresh)); in cubic_after_idle()
363 cubic_data->t_epoch = ticks; in cubic_after_idle()
381 struct cubic *cubic_data; in cubic_cb_init() local
385 cubic_data = malloc(sizeof(struct cubic), M_CC_MEM, M_NOWAIT|M_ZERO); in cubic_cb_init()
386 if (cubic_data == NULL) in cubic_cb_init()
389 cubic_data = ptr; in cubic_cb_init()
392 cubic_data->t_epoch = 0; in cubic_cb_init()
393 cubic_data->cwnd_epoch = 0; in cubic_cb_init()
394 cubic_data->K = 0; in cubic_cb_init()
395 cubic_data->min_rtt_usecs = TCPTV_SRTTBASE; in cubic_cb_init()
396 cubic_data->mean_rtt_usecs = 1; in cubic_cb_init()
398 ccv->cc_data = cubic_data; in cubic_cb_init()
399 cubic_data->flags = CUBICFLAG_HYSTART_ENABLED; in cubic_cb_init()
401 cubic_data->css_lastround_minrtt = 0xffffffff; in cubic_cb_init()
402 cubic_data->css_current_round_minrtt = 0xffffffff; in cubic_cb_init()
403 cubic_data->css_current_round = 0; in cubic_cb_init()
404 cubic_data->css_baseline_minrtt = 0xffffffff; in cubic_cb_init()
405 cubic_data->css_rttsample_count = 0; in cubic_cb_init()
406 cubic_data->css_entered_at_round = 0; in cubic_cb_init()
407 cubic_data->css_fas_at_css_entry = 0; in cubic_cb_init()
408 cubic_data->css_lowrtt_fas = 0; in cubic_cb_init()
409 cubic_data->css_last_fas = 0; in cubic_cb_init()
420 struct cubic *cubic_data; in cubic_cong_signal() local
423 cubic_data = ccv->cc_data; in cubic_cong_signal()
428 if (cubic_data->flags & CUBICFLAG_HYSTART_ENABLED) { in cubic_cong_signal()
430 cubic_data->flags &= ~CUBICFLAG_HYSTART_ENABLED; in cubic_cong_signal()
431 cubic_data->flags &= ~CUBICFLAG_HYSTART_IN_CSS; in cubic_cong_signal()
432 cubic_log_hystart_event(ccv, cubic_data, 10, CCV(ccv, snd_ssthresh)); in cubic_cong_signal()
442 cubic_data->flags |= CUBICFLAG_CONG_EVENT; in cubic_cong_signal()
449 if (cubic_data->flags & CUBICFLAG_HYSTART_ENABLED) { in cubic_cong_signal()
451 cubic_data->flags &= ~CUBICFLAG_HYSTART_ENABLED; in cubic_cong_signal()
452 cubic_data->flags &= ~CUBICFLAG_HYSTART_IN_CSS; in cubic_cong_signal()
453 cubic_log_hystart_event(ccv, cubic_data, 9, CCV(ccv, snd_ssthresh)); in cubic_cong_signal()
463 cubic_data->flags |= CUBICFLAG_CONG_EVENT; in cubic_cong_signal()
477 cubic_data->undo_t_epoch = cubic_data->t_epoch; in cubic_cong_signal()
478 cubic_data->undo_cwnd_epoch = cubic_data->cwnd_epoch; in cubic_cong_signal()
479 cubic_data->undo_W_max = cubic_data->W_max; in cubic_cong_signal()
480 cubic_data->undo_K = cubic_data->K; in cubic_cong_signal()
490 cubic_data->flags |= CUBICFLAG_RTO_EVENT; in cubic_cong_signal()
495 cubic_data->flags &= ~CUBICFLAG_RTO_EVENT; in cubic_cong_signal()
496 cubic_data->K = cubic_data->undo_K; in cubic_cong_signal()
497 cubic_data->W_max = cubic_data->undo_W_max; in cubic_cong_signal()
498 cubic_data->cwnd_epoch = cubic_data->undo_cwnd_epoch; in cubic_cong_signal()
499 cubic_data->t_epoch = cubic_data->undo_t_epoch; in cubic_cong_signal()
509 struct cubic *cubic_data; in cubic_conn_init() local
511 cubic_data = ccv->cc_data; in cubic_conn_init()
518 cubic_data->W_max = UINT_MAX; in cubic_conn_init()
533 struct cubic *cubic_data; in cubic_post_recovery() local
537 cubic_data = ccv->cc_data; in cubic_post_recovery()
555 CCV(ccv, snd_cwnd) = max(((uint64_t)cubic_data->W_max * in cubic_post_recovery()
561 if (cubic_data->epoch_ack_count > 0 && in cubic_post_recovery()
562 cubic_data->sum_rtt_usecs >= cubic_data->epoch_ack_count) { in cubic_post_recovery()
563 cubic_data->mean_rtt_usecs = (int)(cubic_data->sum_rtt_usecs / in cubic_post_recovery()
564 cubic_data->epoch_ack_count); in cubic_post_recovery()
567 cubic_data->epoch_ack_count = 0; in cubic_post_recovery()
568 cubic_data->sum_rtt_usecs = 0; in cubic_post_recovery()
577 struct cubic *cubic_data; in cubic_record_rtt() local
582 cubic_data = ccv->cc_data; in cubic_record_rtt()
592 if ((t_srtt_usecs < cubic_data->min_rtt_usecs || in cubic_record_rtt()
593 cubic_data->min_rtt_usecs == TCPTV_SRTTBASE)) { in cubic_record_rtt()
596 cubic_data->min_rtt_usecs = max(tick >> TCP_RTT_SHIFT, in cubic_record_rtt()
605 if (cubic_data->min_rtt_usecs > in cubic_record_rtt()
606 cubic_data->mean_rtt_usecs) in cubic_record_rtt()
607 cubic_data->mean_rtt_usecs = in cubic_record_rtt()
608 cubic_data->min_rtt_usecs; in cubic_record_rtt()
612 cubic_data->sum_rtt_usecs += t_srtt_usecs; in cubic_record_rtt()
613 cubic_data->epoch_ack_count++; in cubic_record_rtt()
623 struct cubic *cubic_data; in cubic_get_ssthresh() local
626 cubic_data = ccv->cc_data; in cubic_get_ssthresh()
630 if (cwnd < cubic_data->W_max) { in cubic_get_ssthresh()
633 cubic_data->W_max = cwnd; in cubic_get_ssthresh()
635 if (cubic_data->flags & CUBICFLAG_IN_TF) { in cubic_get_ssthresh()