Jonathan Tan wrote:
> On Mon, Jul 18, 2016 at 12:10 PM, Junio C Hamano <[email protected]> wrote:
>> I'd understand if it were more like "aggressive exponential ->
>> conservative exponential" without linear phase when stateless_rpc is
>> in use, though. I just do not quite understand the justification
>> behind the order of three phases introduced by this change.
>
> Adding conservative exponential phase after the aggressive exponential
> phase was the original intention, but the conservative exponential
> approach (e.g. n' = n * 11 / 10) is slower than the existing linear
> (n' = n + 1024) approach when n < 10240, so I added that intermediate
> phase to avoid a regression in the packet size growth.
You have full control of the growth function. So how about aggressive
growth until 1024*10?
That is:
Current git:
n < 1024: aggressive exponential
16, 32, 64, 128, 256, 512, 1024
1024 <= n: linear
2048, 3072, 4096, 5120, ...
Initial proposal:
n < 1024: aggressive exponential
16, 32, 64, 128, 256, 512, 1024
1024 <= n < 10240: linear
2048, 307, 4096, 5120, ...
10240 <= n: conservative exponential
11264, 12390, ...
New proposal:
n < 10240: aggressive exponential
16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384
10240 <= n: conservative exponential
18022, 19824, ...
That way, on one hand it would still never use a smaller window than
today and on the other hand the heuristic would be easier to
understand (only decelarating, instead of decelarating and then
accelerating again).
Thanks,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html