On Dec 02, 2016, at 01:40 AM, Simon Goldschmidt <address@hidden> wrote:
Joel Cunningham wrote:
The fix for bug #45559 makes the following change (commit 06d8dba4a0f04161f9899010982d297cf1b82c54) :
-#define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4)
+#define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4))
The bug appears to be about handling problems with window scaling and didn't seem to include any information on why
TCP_WND_UPDATE_THRESHOLD was changed. Was TCP_WND / 4 determined to perform too poorly?
Yes. Too poorly. With window scaling, you can have window sizes of megabytes and we would send a window update only after accepting e.g. 256 KByte of data. The reason for having an update threshold is to limit the number of window updates sent to the remote host. 4*MSS is a good compromise for both small and large window sizes. Waking up the remote host to send 4*MSS doesn't seem too bad.
You're right on that it wasn't discussed in that bug, but I remember it being discussed *somewhere* (although not sure when and where, maybe there was another bug for that, or we discussed it during initial integration of wubdiw scaling?)
Simon
_______________________________________________
lwip-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-devel