Module Name:    src
Committed By:   ozaki-r
Date:           Thu Nov 27 03:15:51 UTC 2014

Modified Files:
        src/sys/kern: uipc_mbuf.c
        src/sys/net: if.c if.h
        src/sys/rump/librump/rumpnet: net_stub.c

Log Message:
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.158 -r1.159 src/sys/kern/uipc_mbuf.c
cvs rdiff -u -r1.298 -r1.299 src/sys/net/if.c
cvs rdiff -u -r1.179 -r1.180 src/sys/net/if.h
cvs rdiff -u -r1.18 -r1.19 src/sys/rump/librump/rumpnet/net_stub.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/kern/uipc_mbuf.c
diff -u src/sys/kern/uipc_mbuf.c:1.158 src/sys/kern/uipc_mbuf.c:1.159
--- src/sys/kern/uipc_mbuf.c:1.158	Tue Feb 25 18:30:11 2014
+++ src/sys/kern/uipc_mbuf.c	Thu Nov 27 03:15:51 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: uipc_mbuf.c,v 1.158 2014/02/25 18:30:11 pooka Exp $	*/
+/*	$NetBSD: uipc_mbuf.c,v 1.159 2014/11/27 03:15:51 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2001 The NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.158 2014/02/25 18:30:11 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.159 2014/11/27 03:15:51 ozaki-r Exp $");
 
 #include "opt_mbuftrace.h"
 #include "opt_nmbclusters.h"
@@ -543,7 +543,6 @@ m_reclaim(void *arg, int flags)
 {
 	struct domain *dp;
 	const struct protosw *pr;
-	struct ifnet *ifp;
 	int s;
 
 	KERNEL_LOCK(1, NULL);
@@ -554,10 +553,7 @@ m_reclaim(void *arg, int flags)
 			if (pr->pr_drain)
 				(*pr->pr_drain)();
 	}
-	IFNET_FOREACH(ifp) {
-		if (ifp->if_drain)
-			(*ifp->if_drain)(ifp);
-	}
+	if_drain_all();
 	splx(s);
 	mbstat.m_drain++;
 	KERNEL_UNLOCK_ONE(NULL);

Index: src/sys/net/if.c
diff -u src/sys/net/if.c:1.298 src/sys/net/if.c:1.299
--- src/sys/net/if.c:1.298	Wed Nov 26 09:53:53 2014
+++ src/sys/net/if.c	Thu Nov 27 03:15:51 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.c,v 1.298 2014/11/26 09:53:53 ozaki-r Exp $	*/
+/*	$NetBSD: if.c,v 1.299 2014/11/27 03:15:51 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc.
@@ -90,7 +90,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.298 2014/11/26 09:53:53 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.299 2014/11/27 03:15:51 ozaki-r Exp $");
 
 #include "opt_inet.h"
 
@@ -2324,6 +2324,17 @@ if_mcast_op(ifnet_t *ifp, const unsigned
 	return rc;
 }
 
+void
+if_drain_all(void)
+{
+	struct ifnet *ifp;
+
+	IFNET_FOREACH(ifp) {
+		if (ifp->if_drain)
+			(*ifp->if_drain)(ifp);
+	}
+}
+
 static void
 sysctl_sndq_setup(struct sysctllog **clog, const char *ifname,
     struct ifaltq *ifq)

Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.179 src/sys/net/if.h:1.180
--- src/sys/net/if.h:1.179	Wed Nov 26 09:38:42 2014
+++ src/sys/net/if.h	Thu Nov 27 03:15:51 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.h,v 1.179 2014/11/26 09:38:42 ozaki-r Exp $	*/
+/*	$NetBSD: if.h,v 1.180 2014/11/27 03:15:51 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -968,6 +968,7 @@ extern struct ifnet_head ifnet_list;
 extern struct ifnet *lo0ifp;
 
 ifnet_t *	if_byindex(u_int);
+void		if_drain_all(void);
 
 /*
  * ifq sysctl support

Index: src/sys/rump/librump/rumpnet/net_stub.c
diff -u src/sys/rump/librump/rumpnet/net_stub.c:1.18 src/sys/rump/librump/rumpnet/net_stub.c:1.19
--- src/sys/rump/librump/rumpnet/net_stub.c:1.18	Sun May 18 14:03:26 2014
+++ src/sys/rump/librump/rumpnet/net_stub.c	Thu Nov 27 03:15:51 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: net_stub.c,v 1.18 2014/05/18 14:03:26 rmind Exp $	*/
+/*	$NetBSD: net_stub.c,v 1.19 2014/11/27 03:15:51 ozaki-r Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.18 2014/05/18 14:03:26 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.19 2014/11/27 03:15:51 ozaki-r Exp $");
 
 #include <sys/param.h>
 #include <sys/protosw.h>
@@ -61,7 +61,9 @@ __weak_alias(agr_input,rumpnet_stub);
 __weak_alias(ieee8023ad_lacp_input,rumpnet_stub);
 __weak_alias(ieee8023ad_marker_input,rumpnet_stub);
 
+/* if */
 struct ifnet_head ifnet_list;
+__weak_alias(if_drain_all,rumpnet_stub);
 
 int
 compat_ifconf(u_long cmd, void *data)

Reply via email to