Permalink
41 comments
on commit
sign in to comment.
Browse files
tcp_cubic: better follow cubic curve after idle period
Jana Iyengar found an interesting issue on CUBIC : The epoch is only updated/reset initially and when experiencing losses. The delta "t" of now - epoch_start can be arbitrary large after app idle as well as the bic_target. Consequentially the slope (inverse of ca->cnt) would be really large, and eventually ca->cnt would be lower-bounded in the end to 2 to have delayed-ACK slow-start behavior. This particularly shows up when slow_start_after_idle is disabled as a dangerous cwnd inflation (1.5 x RTT) after few seconds of idle time. Jana initial fix was to reset epoch_start if app limited, but Neal pointed out it would ask the CUBIC algorithm to recalculate the curve so that we again start growing steeply upward from where cwnd is now (as CUBIC does just after a loss). Ideally we'd want the cwnd growth curve to be the same shape, just shifted later in time by the amount of the idle period. Reported-by: Jana Iyengar <jri@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Cc: Stephen Hemminger <stephen@networkplumber.org> Cc: Sangtae Ha <sangtae.ha@gmail.com> Cc: Lawrence Brakmo <lawrence@brakmo.org> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information...
zhouyongtao repliedSep 28, 2015
不明觉厉的样子
shaoyongyang repliedSep 28, 2015
what mean ?
shaoyongyang repliedSep 28, 2015
what mean ?
shaoyongyang repliedSep 28, 2015
what mean ?
shaoyongyang repliedSep 28, 2015
what mean?
shaoyongyang repliedSep 28, 2015
what mean?
shaoyongyang repliedSep 28, 2015
what mean?
shaoyongyang repliedSep 28, 2015
what mean?
shaoyongyang repliedSep 28, 2015
mean ?
shaoyongyang repliedSep 28, 2015
what man?
vingc repliedSep 28, 2015
膜拜,感谢贡献者
douglarek repliedSep 28, 2015
It's Cool, thanks
anythink-wx repliedSep 28, 2015
顶~
openproject repliedSep 28, 2015
So good!
Honghe repliedSep 28, 2015
对 cubic algorithm 不知,因此看不懂此重要修复,可惜了
xormplus repliedSep 28, 2015
good job
teddysun repliedSep 28, 2015
I guess, this is a Chinese name.
Good job.
lebiru repliedSep 28, 2015
awesome👍
swaechter repliedSep 28, 2015
Is the return inside the if statement really needed?
liuchangdong repliedSep 29, 2015
good job
porscheyin repliedSep 29, 2015
Yuchung Cheng is from Taiwan
name327 repliedSep 29, 2015
我赵日天并不服
kenmux repliedSep 29, 2015
Why mention about this man specially? Why?
They're all from Google. Good jobs, guys!
dhdone repliedSep 29, 2015
感谢修复者
zhenhua repliedSep 29, 2015
How much performance improvement could we have by applying this fix? Could anyone give us a hint?
marctmiller repliedSep 29, 2015
hephaex repliedSep 29, 2015
guhb repliedSep 29, 2015
看不懂~先顶一个
kbengine repliedOct 3, 2015
wow!
rafavg77 repliedOct 4, 2015
Good Job!
LINGQ1991 repliedOct 4, 2015
不明觉厉!!!
gbjtv repliedOct 6, 2015
Will this make it into other lts kernels?
theharveyz repliedOct 13, 2015
awesome!
dale76uk repliedOct 25, 2015
Hi,
I'm running linux mint 17.1, how do I apply this patch?
Thanks in advance
marctmiller repliedOct 25, 2015
nkeck720 repliedOct 25, 2015
dale76uk repliedOct 26, 2015
marc, there is no need to be so rude! I'm not that naive.
marctmiller repliedOct 26, 2015
arjun024 repliedOct 28, 2015
chandlerding repliedNov 16, 2015
Well , we just need wait for redhat to backport this patch and roll up the new kernel updates...
losywee repliedMar 5, 2016
Thanks.