Of course only packets get dropped. But that's beside the point. If I'm sending 20 byte packets, and linux's congestion control kicks in, my throughput is 20 bytes per RTT. If the client sends me 1 byte (and nothing else) and enables delayed ACKS, then my throughput is 20bytes per ACK-DELAY-TIME... which is around 30ms. Whereas under BSD/NT/Solaris which count segments not packets, my throughput is 1 segment per RTT. With a greater chance for an ack piggyback. Granted, at larger (read "normal") sized packets the differences between counting segments vs packets is pretty nominal. But you have to admit that for small-packet latency centric stuff, the current state of the stack makes life very difficult. Perhaps you know of a way to increase the number of un-acked packets linux allows? -Jon From: David S. Miller [mailto:davem@redhat.com] Subject: Re: Congestion Control uses packets instead of segments? (bug?). Show us a router in the real world that drops "bytes" instead of "packets", and we will change the Linux TCP algorithms :-) ------------------------------------------------------------------------ This message is for the designated recipient only and may contain privileged or confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email is prohibited. -----------------------------------------------------------------------! - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html