[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] Updated default TCP_WND_UPDATE_THRESHOLD
From: |
Simon Goldschmidt |
Subject: |
Re: [lwip-devel] Updated default TCP_WND_UPDATE_THRESHOLD |
Date: |
Fri, 2 Dec 2016 08:39:49 +0100 |
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