Page MenuHomeFreeBSD

D28326.diff
No OneTemporary

D28326.diff

Index: sys/netinet/tcp_input.c
===================================================================
--- sys/netinet/tcp_input.c
+++ sys/netinet/tcp_input.c
@@ -510,7 +510,6 @@
}
/* XXXLAS: EXIT_RECOVERY ? */
tp->t_bytes_acked = 0;
- tp->sackhint.recover_fs = 0;
}
/*
@@ -3948,10 +3947,12 @@
/*
* Proportional Rate Reduction
*/
- if (pipe > tp->snd_ssthresh)
- snd_cnt = (tp->sackhint.prr_delivered * tp->snd_ssthresh / tp->sackhint.recover_fs) -
- tp->sackhint.sack_bytes_rexmit;
- else {
+ if (pipe > tp->snd_ssthresh) {
+ if (tp->sackhint.recover_fs == 0)
+ tp->sackhint.recover_fs =
+ max(1, tp->snd_nxt - tp->snd_una);
+ snd_cnt = (tp->sackhint.prr_delivered * tp->snd_ssthresh / tp->sackhint.recover_fs) - tp->sackhint.sack_bytes_rexmit;
+ } else {
if (V_tcp_do_prr_conservative)
limit = tp->sackhint.prr_delivered - tp->sackhint.sack_bytes_rexmit;
else

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 23, 3:01 PM (18 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15571613
Default Alt Text
D28326.diff (902 B)

Event Timeline