This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit ecd6a3572b21fee1d9a69e930ecbf10e12f79d05
Author: YAMAMOTO Takashi <[email protected]>
AuthorDate: Wed Oct 13 10:49:45 2021 +0900

    net/tcp/Kconfig: Remove NET_TCP_SPLIT
    
    While it's a neat idea, it doesn't work well in reality.
    
    * Many of modern tcp stacks don't obey the "ack every other packet"
      rule these days. (Linux, macOS, ...)
    
    * Even if a traditional TCP implementation is assumed, we can't
      predict/control which packets are acked reliably. For example,
      window updates can easily mess up our strategy.
---
 net/tcp/Kconfig | 28 ----------------------------
 1 file changed, 28 deletions(-)

diff --git a/net/tcp/Kconfig b/net/tcp/Kconfig
index e53ee05..d41368b 100644
--- a/net/tcp/Kconfig
+++ b/net/tcp/Kconfig
@@ -203,34 +203,6 @@ config NET_TCPBACKLOG_CONNS
 
 endif # NET_TCPBACKLOG
 
-config NET_TCP_SPLIT
-       bool "Enable packet splitting"
-       default n
-       depends on !NET_TCP_WRITE_BUFFERS
-       ---help---
-               send() will not return until the transfer has been ACKed by the
-               recipient.  But under RFC 1122, the host need not ACK each 
packet
-               immediately; the host may wait for 500 MS before ACKing.  This
-               combination can cause very slow performance with small 
transfers are
-               made to an RFC 1122 client.  However, the RFC 1122 must ACK at 
least
-               every second (odd) packet.
-
-               This option enables logic to trick the RFC 1122 host be 
exploiting
-               this last RFC 1122 requirement:  If an odd number of packets 
were to
-               be sent, then send() will split the last even packet to 
guarantee
-               that an even number of packets will be sent and the RFC 1122 
host
-               will ACK the final packet immediately.
-
-if NET_TCP_SPLIT
-
-config NET_TCP_SPLIT_SIZE
-       int "Split size threshold"
-       default 40
-       ---help---
-               Packets of this size or smaller than this will not be split.
-
-endif # NET_TCP_SPLIT
-
 config NET_SENDFILE
        bool "Optimized network sendfile()"
        default n

Reply via email to