rpc:window update logic is updated to DCTCP-like one.
@@ -63,8 +63,8 @@ static void srpc_update_window(struct srpc_session *s)
if (us >= 20) {
if (us > 60)
us = 60;
- float scale = 1.0 + (us - 20) / 40.0;
- s->win = (float)s->win / scale;
+ float alpha = (us - 20) / 40.0;
+ s->win = (float)s->win / (1.0 - alpha/2.0);
} else {
s->win++;
}
