Skip to content

Commit

Permalink
Revert "net: snmp: add statistics for tcp small queue check"
Browse files Browse the repository at this point in the history
This reverts commit aeeecb8.

The new SNMP variable (TCPSmallQueueFailure) can be incremented
for good reasons, even on a 100Gbit single TCP_STREAM flow.

If we really wanted to ease driver debugging [1], this would
require something more sophisticated.

[1] Usually, if a driver is delaying TX completions too much,
this can lead to stalls in TCP output. Various work arounds
have been used in the past, like skb_orphan() in ndo_start_xmit().

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Menglong Dong <imagedong@tencent.com>
Link: https://lore.kernel.org/r/20211201033246.2826224-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Eric Dumazet authored and kuba-moo committed Dec 2, 2021
1 parent 0dc1df0 commit ce8299b
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 6 deletions.
1 change: 0 additions & 1 deletion include/uapi/linux/snmp.h
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,6 @@ enum
LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */
LINUX_MIB_TCPMIGRATEREQSUCCESS, /* TCPMigrateReqSuccess */
LINUX_MIB_TCPMIGRATEREQFAILURE, /* TCPMigrateReqFailure */
LINUX_MIB_TCPSMALLQUEUEFAILURE, /* TCPSmallQueueFailure */
__LINUX_MIB_MAX
};

Expand Down
1 change: 0 additions & 1 deletion net/ipv4/proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ static const struct snmp_mib snmp4_net_list[] = {
SNMP_MIB_ITEM("TCPDSACKIgnoredDubious", LINUX_MIB_TCPDSACKIGNOREDDUBIOUS),
SNMP_MIB_ITEM("TCPMigrateReqSuccess", LINUX_MIB_TCPMIGRATEREQSUCCESS),
SNMP_MIB_ITEM("TCPMigrateReqFailure", LINUX_MIB_TCPMIGRATEREQFAILURE),
SNMP_MIB_ITEM("TCPSmallQueueFailure", LINUX_MIB_TCPSMALLQUEUEFAILURE),
SNMP_MIB_SENTINEL
};

Expand Down
5 changes: 1 addition & 4 deletions net/ipv4/tcp_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -2524,11 +2524,8 @@ static bool tcp_small_queue_check(struct sock *sk, const struct sk_buff *skb,
* test again the condition.
*/
smp_mb__after_atomic();
if (refcount_read(&sk->sk_wmem_alloc) > limit) {
NET_INC_STATS(sock_net(sk),
LINUX_MIB_TCPSMALLQUEUEFAILURE);
if (refcount_read(&sk->sk_wmem_alloc) > limit)
return true;
}
}
return false;
}
Expand Down

0 comments on commit ce8299b

Please sign in to comment.