Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jan 2015 18:06:23 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r277077 - head/sys/netinet
Message-ID:  <201501121806.t0CI6NVx043820@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Mon Jan 12 18:06:22 2015
New Revision: 277077
URL: https://svnweb.freebsd.org/changeset/base/277077

Log:
  Do not go one layer down to check ifqueue length. First, not all drivers
  use ifqueue at all. Second, there is no point in this lockless check.
  Either positive or negative result of the check could be incorrect after
  a tick.
  
  Reviewed by:	tuexen
  Sponsored by:	Nginx, Inc.

Modified:
  head/sys/netinet/sctp_output.c

Modified: head/sys/netinet/sctp_output.c
==============================================================================
--- head/sys/netinet/sctp_output.c	Mon Jan 12 16:18:34 2015	(r277076)
+++ head/sys/netinet/sctp_output.c	Mon Jan 12 18:06:22 2015	(r277077)
@@ -7958,22 +7958,6 @@ again_one_more_time:
 		} else {
 			skip_data_for_this_net = 0;
 		}
-		if ((net->ro.ro_rt) && (net->ro.ro_rt->rt_ifp)) {
-			/*
-			 * if we have a route and an ifp check to see if we
-			 * have room to send to this guy
-			 */
-			struct ifnet *ifp;
-
-			ifp = net->ro.ro_rt->rt_ifp;
-			if ((ifp->if_snd.ifq_len + 2) >= ifp->if_snd.ifq_maxlen) {
-				SCTP_STAT_INCR(sctps_ifnomemqueued);
-				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
-					sctp_log_maxburst(stcb, net, ifp->if_snd.ifq_len, ifp->if_snd.ifq_maxlen, SCTP_MAX_IFP_APPLIED);
-				}
-				continue;
-			}
-		}
 		switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
 #ifdef INET
 		case AF_INET:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501121806.t0CI6NVx043820>