Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jul 2009 16:10:54 +0000 (UTC)
From:      Lawrence Stewart <lstewart@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r195425 - projects/tcp_cc_8.x/sys/netinet
Message-ID:  <200907071610.n67GAs8f023076@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lstewart
Date: Tue Jul  7 16:10:53 2009
New Revision: 195425
URL: http://svn.freebsd.org/changeset/base/195425

Log:
  - Don't manually add newreno to the cc_list in tcp_init, as the
    DECLARE_CC_MODULE macro in the new world order takes care of registering the
    module for us. Add a KASSERT when initing a tcpcb to check that the list is
    not empty.
  
  - sysctl_handle_string is not required in the case where we are setting a new
    default algorithm. This change fixes a panic that would occur when trying to
    set the default algorithm.

Modified:
  projects/tcp_cc_8.x/sys/netinet/cc.c
  projects/tcp_cc_8.x/sys/netinet/tcp_subr.c

Modified: projects/tcp_cc_8.x/sys/netinet/cc.c
==============================================================================
--- projects/tcp_cc_8.x/sys/netinet/cc.c	Tue Jul  7 13:58:47 2009	(r195424)
+++ projects/tcp_cc_8.x/sys/netinet/cc.c	Tue Jul  7 16:10:53 2009	(r195425)
@@ -114,8 +114,6 @@ cc_default_algo(SYSCTL_HANDLER_ARGS)
 
 		if (!found)
 			return (ESRCH);
-
-		error = sysctl_handle_string(oidp, arg1, arg2, req);
 	}
 
 	return (error);
@@ -160,8 +158,6 @@ cc_init()
 {
 	CC_LIST_LOCK_INIT();
 	STAILQ_INIT(&cc_list);
-	/* Newreno must always be available as an algorithm. */
-	cc_register_algo(&newreno_cc_algo);
 }
 
 /*

Modified: projects/tcp_cc_8.x/sys/netinet/tcp_subr.c
==============================================================================
--- projects/tcp_cc_8.x/sys/netinet/tcp_subr.c	Tue Jul  7 13:58:47 2009	(r195424)
+++ projects/tcp_cc_8.x/sys/netinet/tcp_subr.c	Tue Jul  7 16:10:53 2009	(r195425)
@@ -734,6 +734,7 @@ tcp_newtcpcb(struct inpcb *inp)
 	 * Use the current system default CC algorithm.
 	 */
 	CC_LIST_RLOCK();
+	KASSERT(!STAILQ_EMPTY(&cc_list), ("cc_list is empty!"));
 	CC_ALGO(tp) = CC_DEFAULT();
 	CC_LIST_RUNLOCK();
 



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