[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <FC9BF302-0724-49F3-AD7C-6761D65024A1@Easton24.com>
Date: Sun, 9 Mar 2025 20:20:14 -0500
From: Andrew Easton <Andrew@...ton24.com>
To: "David S. Miller" <davem@...emloft.net>,
"David S. Ahern" <dsahern@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Simon Horman <horms@...nel.org>,
"Linux Kernel Mailing List, Network Subsystem" <netdev@...r.kernel.org>,
"Linux Kernel Mailing List, Sysctl API ABI" <linux-api@...r.kernel.org>
Subject: Add sysctl for tcp_delayed_ack
Subject: Add sysctl for tcp_delayed_ack
Hi everyone,
this is a proposed patch for adding a sysctl for
disabling TCP delayed ACK (IETF RFC 1122) without
having to patch software to constantly poke sockets
with TCP_QUICKACK which apparently resets on
subsequent operations, see tcp(7).
For my personal computer networks experimenting with
globally disabling TCP delayed ACK across two other
operating systems seems to have considerably improved
congestion control. (While I propose only anecdotal
evidence, there is more to it. Am open to the
ensuing technical discussion, but only if that turns
out to be a good use of other people's time.)
This is my first proposed kernel patch and it is
likely missing a whole bunch of details. For
example:
1. Where is the TCP ACK delay computed for IPv6?
Could not identify this in file net/ipv6/tcp_ipv6.c .
2. Perhaps, adding kernel configuration options for
the ncurses interface is desireable. What is a good
example to learn from?
3. Perhaps, setting constants in file
include/uapi/linux/sysctl.h may be unnecessary, but I
have not found any guidelines on when these CTL
numbers are necessary. Likely, because I did not
read the documentation carefully enough. Any
pointers are appreciated.
4. The default should probably be a value like
net.ipv4.tcp_delayed_ack=1 that preserves the current
behavior and hence is backwards compatible for user
space. A value of net.ipv4.tcp_delayed_ack=0 should
globally (for IPv4) disable TCP delayed ACK. Would
also like to add the option for IPv6, but see point
(1).
In case a similar sysctl has already been proposed
and rejected in the past, please point me to the
mailing list archives, if that is not too
inconvenient.
Which questions have I failed to ask that I should
have asked?
Errors and lack of research are on me.
Thank you for sharing your time.
Andrew
Download attachment "0001-Add-sysctl-net.ipv4.tcp_delayed_ack-for-disabling-TC.patch" of type "application/octet-stream" (6506 bytes)
Powered by blists - more mailing lists