-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix cubic start bounce #1831
Fix cubic start bounce #1831
Conversation
@hfstco there are 4 fixes in this PR:
|
cubic_enter_avoidance(cubic_state, current_time); | ||
/* enter recovery to ignore the losses expected if the window grew | ||
* too large after the acknowleded packet was sent. */ | ||
cubic_enter_recovery(cnx, path_x, notification, cubic_state, current_time); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just for clarification. We are entering recovery when HyStart trigger?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. It is logical. On one hand, we know that Hystart triggered based on the CWIN one RTT before, that the CWIN will generally have doubled, and thus that there is very high risk of observing congestion losses after that. On the other hand, we just reduced the CWIN, so these likely losses do not reflect the new state of congestion control. That's the classic reasoning behind recovery.
Sounds good.
Shared my thoughts in #1830. |
You are correct about Hystart++. I did not want to mix two issues in one PR, but there is definitely a risk of exiting the slow start too soon due to some transient condition. And then Cubic takes a long time to ramp up and recover. |
Fix issue #1830