svn commit: r281295 - head/sys/netinet

Gleb Smirnoff glebius at FreeBSD.org
Thu Apr 9 08:56:24 UTC 2015


Author: glebius
Date: Thu Apr  9 08:56:23 2015
New Revision: 281295
URL: https://svnweb.freebsd.org/changeset/base/281295

Log:
  If V_maxnipq is set to zero, drain the queue here and now, instead of
  relying on timeouts.
  
  Sponsored by:	Nginx, Inc.

Modified:
  head/sys/netinet/ip_input.c

Modified: head/sys/netinet/ip_input.c
==============================================================================
--- head/sys/netinet/ip_input.c	Thu Apr  9 08:52:02 2015	(r281294)
+++ head/sys/netinet/ip_input.c	Thu Apr  9 08:56:23 2015	(r281295)
@@ -826,12 +826,12 @@ maxnipq_update(void)
 	if (V_maxnipq > 0)
 		uma_zone_set_max(V_ipq_zone, V_maxnipq);
 	/*
-	 * Zero specifies no further fragment queue allocation -- set the
-	 * bound very low, but rely on implementation elsewhere to actually
-	 * prevent allocation and reclaim current queues.
+	 * Zero specifies no further fragment queue allocation.
 	 */
-	if (V_maxnipq == 0)
+	if (V_maxnipq == 0) {
 		uma_zone_set_max(V_ipq_zone, 1);
+		ip_drain_vnet();
+	}
 }
 
 static void


More information about the svn-src-all mailing list