Module Name:    src
Committed By:   knakahara
Date:           Mon Jun 13 08:37:15 UTC 2016

Modified Files:
        src/sys/netinet: ip_flow.c
        src/sys/netinet6: ip6_flow.c

Log Message:
eliminate unnecessary splnet


To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/netinet/ip_flow.c
cvs rdiff -u -r1.25 -r1.26 src/sys/netinet6/ip6_flow.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/netinet/ip_flow.c
diff -u src/sys/netinet/ip_flow.c:1.70 src/sys/netinet/ip_flow.c:1.71
--- src/sys/netinet/ip_flow.c:1.70	Mon Jun 13 08:34:23 2016
+++ src/sys/netinet/ip_flow.c	Mon Jun 13 08:37:15 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_flow.c,v 1.70 2016/06/13 08:34:23 knakahara Exp $	*/
+/*	$NetBSD: ip_flow.c,v 1.71 2016/06/13 08:37:15 knakahara Exp $	*/
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_flow.c,v 1.70 2016/06/13 08:34:23 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_flow.c,v 1.71 2016/06/13 08:37:15 knakahara Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -357,7 +357,6 @@ ipflow_addstats(struct ipflow *ipf)
 static void
 ipflow_free(struct ipflow *ipf)
 {
-	int s;
 
 	KASSERT(mutex_owned(&ipflow_lock));
 
@@ -366,9 +365,8 @@ ipflow_free(struct ipflow *ipf)
 	 * Once it's off the list, we can deal with it at normal
 	 * network IPL.
 	 */
-	s = splnet();
 	IPFLOW_REMOVE(ipf);
-	splx(s);
+
 	ipflow_addstats(ipf);
 	rtcache_free(&ipf->ipf_ro);
 	ipflow_inuse--;
@@ -383,7 +381,6 @@ ipflow_reap(bool just_one)
 
 	while (just_one || ipflow_inuse > ip_maxflows) {
 		struct ipflow *ipf, *maybe_ipf = NULL;
-		int s;
 
 		ipf = LIST_FIRST(&ipflowlist);
 		while (ipf != NULL) {
@@ -412,9 +409,8 @@ ipflow_reap(bool just_one)
 		/*
 		 * Remove the entry from the flow table.
 		 */
-		s = splnet();
 		IPFLOW_REMOVE(ipf);
-		splx(s);
+
 		ipflow_addstats(ipf);
 		rtcache_free(&ipf->ipf_ro);
 		if (just_one)
@@ -462,7 +458,6 @@ ipflow_create(const struct route *ro, st
 	const struct ip *const ip = mtod(m, const struct ip *);
 	struct ipflow *ipf;
 	size_t hash;
-	int s;
 
 	mutex_enter(&ipflow_lock);
 
@@ -493,9 +488,8 @@ ipflow_create(const struct route *ro, st
 		}
 		memset(ipf, 0, sizeof(*ipf));
 	} else {
-		s = splnet();
 		IPFLOW_REMOVE(ipf);
-		splx(s);
+
 		ipflow_addstats(ipf);
 		rtcache_free(&ipf->ipf_ro);
 		ipf->ipf_uses = ipf->ipf_last_uses = 0;
@@ -515,9 +509,7 @@ ipflow_create(const struct route *ro, st
 	 * Insert into the approriate bucket of the flow table.
 	 */
 	hash = ipflow_hash(ip);
-	s = splnet();
 	IPFLOW_INSERT(&ipflowtable[hash], ipf);
-	splx(s);
 
  out:
 	KERNEL_UNLOCK_ONE(NULL);
@@ -528,13 +520,12 @@ int
 ipflow_invalidate_all(int new_size)
 {
 	struct ipflow *ipf, *next_ipf;
-	int s, error;
+	int error;
 
 	error = 0;
 
 	mutex_enter(&ipflow_lock);
 
-	s = splnet();
 	for (ipf = LIST_FIRST(&ipflowlist); ipf != NULL; ipf = next_ipf) {
 		next_ipf = LIST_NEXT(ipf, ipf_list);
 		ipflow_free(ipf);
@@ -542,7 +533,6 @@ ipflow_invalidate_all(int new_size)
 
 	if (new_size)
 		error = ipflow_reinit(new_size);
-	splx(s);
 
 	mutex_exit(&ipflow_lock);
 

Index: src/sys/netinet6/ip6_flow.c
diff -u src/sys/netinet6/ip6_flow.c:1.25 src/sys/netinet6/ip6_flow.c:1.26
--- src/sys/netinet6/ip6_flow.c:1.25	Mon Jun 13 08:34:23 2016
+++ src/sys/netinet6/ip6_flow.c	Mon Jun 13 08:37:15 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip6_flow.c,v 1.25 2016/06/13 08:34:23 knakahara Exp $	*/
+/*	$NetBSD: ip6_flow.c,v 1.26 2016/06/13 08:37:15 knakahara Exp $	*/
 
 /*-
  * Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip6_flow.c,v 1.25 2016/06/13 08:34:23 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip6_flow.c,v 1.26 2016/06/13 08:37:15 knakahara Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -377,7 +377,6 @@ ip6flow_addstats(const struct ip6flow *i
 static void
 ip6flow_free(struct ip6flow *ip6f)
 {
-	int s;
 
 	KASSERT(mutex_owned(&ip6flow_lock));
 
@@ -386,9 +385,8 @@ ip6flow_free(struct ip6flow *ip6f)
 	 * Once it's off the list, we can deal with it at normal
 	 * network IPL.
 	 */
-	s = splnet();
 	IP6FLOW_REMOVE(ip6f);
-	splx(s);
+
 	ip6flow_inuse--;
 	ip6flow_addstats(ip6f);
 	rtcache_free(&ip6f->ip6f_ro);
@@ -403,7 +401,6 @@ ip6flow_reap_locked(int just_one)
 
 	while (just_one || ip6flow_inuse > ip6_maxflows) {
 		struct ip6flow *ip6f, *maybe_ip6f = NULL;
-		int s;
 
 		ip6f = LIST_FIRST(&ip6flowlist);
 		while (ip6f != NULL) {
@@ -432,9 +429,8 @@ ip6flow_reap_locked(int just_one)
 		/*
 		 * Remove the entry from the flow table
 		 */
-		s = splnet();
 		IP6FLOW_REMOVE(ip6f);
-		splx(s);
+
 		rtcache_free(&ip6f->ip6f_ro);
 		if (just_one) {
 			ip6flow_addstats(ip6f);
@@ -500,7 +496,6 @@ ip6flow_create(const struct route *ro, s
 	const struct ip6_hdr *ip6;
 	struct ip6flow *ip6f;
 	size_t hash;
-	int s;
 
 	mutex_enter(&ip6flow_lock);
 
@@ -542,9 +537,8 @@ ip6flow_create(const struct route *ro, s
 		}
 		memset(ip6f, 0, sizeof(*ip6f));
 	} else {
-		s = splnet();
 		IP6FLOW_REMOVE(ip6f);
-		splx(s);
+
 		ip6flow_addstats(ip6f);
 		rtcache_free(&ip6f->ip6f_ro);
 		ip6f->ip6f_uses = 0;
@@ -566,9 +560,7 @@ ip6flow_create(const struct route *ro, s
 	 * Insert into the approriate bucket of the flow table.
 	 */
 	hash = ip6flow_hash(ip6);
-	s = splnet();
 	IP6FLOW_INSERT(&ip6flowtable[hash], ip6f);
-	splx(s);
 
  out:
 	KERNEL_UNLOCK_ONE(NULL);
@@ -583,13 +575,12 @@ int
 ip6flow_invalidate_all(int new_size)
 {
 	struct ip6flow *ip6f, *next_ip6f;
-	int s, error;
+	int error;
 
 	error = 0;
 
 	mutex_enter(&ip6flow_lock);
 
-	s = splnet();
 	for (ip6f = LIST_FIRST(&ip6flowlist); ip6f != NULL; ip6f = next_ip6f) {
 		next_ip6f = LIST_NEXT(ip6f, ip6f_list);
 		ip6flow_free(ip6f);
@@ -597,7 +588,6 @@ ip6flow_invalidate_all(int new_size)
 
 	if (new_size) 
 		error = ip6flow_init_locked(new_size);
-	splx(s);
 
 	mutex_exit(&ip6flow_lock);
 

Reply via email to