Hello!

> Expecting any performance with one byte write's is silly.

I am not sure why you are so confident about status of ABC.
I missed the discussions, when it was implemented. Apparently,
it was noticed that ABC in its pure form does not make sense
with snd_cwnd counted in packets and there were some reasons,
why it still was not adapted.

That's what I am sure: if congestion control causes delack syndrome,
it is difficult to advocate this congestion control scheme.
It must be repaired, if there is even the smallest possibility
to do this.


The first idea:

Behaviour is broken, when we have < 2*MSS in flight. In that
case receiver falls to delack timeout and breaks ACK clock.

        thresh = tp->mss_cache;

        if (tp->snd_nxt - tp->snd_una <= tp->mss_cache) {
                thresh = 1;
                if (tp->send_head)
                        thresh = tp->send_head->len;
                /* If send_head is empty, it disables ABC.
                 * If send_head is good mss sized segment, ABC is in work.
                 * If send_head is a small segment, it is half-way.
                 */
        }

        if (tp->bytes_acked < thresh)
               return;

Probably, do this only when TCP_NODELAY is set, but actually it does not
matter. If it is nagled/corked, cwnd will not be used/increased in any case.





-
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

Reply via email to