Ilpo Järvinen wrote:
BTW, while looking this patch, I noticed that snd_cwnd_clamp is only u16
while snd_cwnd is u32, which seems rather strange since snd_cwnd is being
limited by the clamp value here and there?!?! And tcp_highspeed.c is
clearly assuming even more than this (but the problem is hidden as
snd_cwnd_clamp is feed back to the min_t and the used 32-bit constant
could be safely cut to 16-bits anyway):
tp->snd_cwnd_clamp = min_t(u32, tp->snd_cwnd_clamp, 0xffffffff/128);
Has the type being changed somewhere in the past or why is this so?
It's been that way as long as I can remember. It's always been a
mystery to me as well. I suspect the tcp_highspeed code is that way
because this patch originally came out of the Web100-patched kernel,
which at one point was using a 32 bit snd_cwnd_clamp IIRC.
I think it's not unreasonable to change clamp to 32 bits now, since with
1500 byte packets, this corresponds to a max cwnd of ~94MB. This is
pretty big, but we are currently right at this limit with 10 GigE.
-John
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html