看起来是在内核2.6.37中添加的。
从下面的更改日志中提交来自内核Git的差异和摘录;
提交dca43c75e7e545694a9dd6288553f55c53e2a3a3作者:Jerry Chu日期:Fri Aug 27 19:13:28
2010 +0000tcp: Add TCP_USER_TIMEOUT socket option.This patch provides a "user timeout" support as described in RFC793. Thesocket option is also needed for the the local half of RFC5482 "TCP UserTimeout Option".TCP_USER_TIMEOUT is a TCP level socket option that takes an unsignedint,
when > 0, to specify the maximum amount of time in ms that transmitted
data may remain unacknowledged before TCP will forcefully close the
corresponding connection and return ETIMEDOUT to the application. If
0 is given, TCP will continue to use the system default.Increasing the user timeouts allows a TCP connection to survive extendedperiods without end-to-end connectivity. Decreasing the user timeoutsallows applications to "fail fast" if so desired. Otherwise it may takeupto 20 minutes with the current system defaults in a normal WANenvironment.The socket option can be made during any state of a TCP connection, butis only effective during the synchronized states of a connection(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, or LAST-ACK).Moreover, when used with the TCP keepalive (SO_KEEPALIVE) option,TCP_USER_TIMEOUT will overtake keepalive to determine when to close aconnection due to keepalive failure.The option does not change in anyway when TCP retransmits a packet, norwhen a keepalive probe will be sent.This option, like many others, will be inherited by an acceptor from itslistener.Signed-off-by: H.K. Jerry Chu <hkchu@google.com>Signed-off-by: David S. Miller <davem@davemloft.net>



