Commit ce8299b6 authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski
Browse files

Revert "net: snmp: add statistics for tcp small queue check"



This reverts commit aeeecb88.

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: default avatarEric 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: default avatarJakub Kicinski <kuba@kernel.org>
parent 0dc1df05
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -292,7 +292,6 @@ enum
	LINUX_MIB_TCPDSACKIGNOREDDUBIOUS,	/* TCPDSACKIgnoredDubious */
	LINUX_MIB_TCPMIGRATEREQSUCCESS,		/* TCPMigrateReqSuccess */
	LINUX_MIB_TCPMIGRATEREQFAILURE,		/* TCPMigrateReqFailure */
	LINUX_MIB_TCPSMALLQUEUEFAILURE,		/* TCPSmallQueueFailure */
	__LINUX_MIB_MAX
};

+0 −1
Original line number Diff line number Diff line
@@ -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
};

+1 −4
Original line number Diff line number Diff line
@@ -2524,12 +2524,9 @@ 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;
}