Module Name: src
Committed By: ozaki-r
Date: Tue Mar 14 09:03:09 UTC 2017
Modified Files:
src/sys/altq: altq_subr.c
src/sys/compat/common: uipc_syscalls_40.c
src/sys/compat/linux/common: linux_socket.c
src/sys/compat/linux32/common: linux32_socket.c
src/sys/dist/pf/net: pf_if.c
src/sys/kern: uipc_mbuf.c
src/sys/net: if.c if.h rtsock.c
src/sys/netinet: ip_carp.c
src/sys/rump/librump/rumpnet: net_stub.c
Log Message:
Use if_acquire and if_release instead of using psref API directly
- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/altq/altq_subr.c
cvs rdiff -u -r1.12 -r1.13 src/sys/compat/common/uipc_syscalls_40.c
cvs rdiff -u -r1.137 -r1.138 src/sys/compat/linux/common/linux_socket.c
cvs rdiff -u -r1.26 -r1.27 src/sys/compat/linux32/common/linux32_socket.c
cvs rdiff -u -r1.32 -r1.33 src/sys/dist/pf/net/pf_if.c
cvs rdiff -u -r1.170 -r1.171 src/sys/kern/uipc_mbuf.c
cvs rdiff -u -r1.384 -r1.385 src/sys/net/if.c
cvs rdiff -u -r1.235 -r1.236 src/sys/net/if.h
cvs rdiff -u -r1.206 -r1.207 src/sys/net/rtsock.c
cvs rdiff -u -r1.85 -r1.86 src/sys/netinet/ip_carp.c
cvs rdiff -u -r1.24 -r1.25 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/altq/altq_subr.c
diff -u src/sys/altq/altq_subr.c:1.32 src/sys/altq/altq_subr.c:1.33
--- src/sys/altq/altq_subr.c:1.32 Mon Jun 20 08:30:58 2016
+++ src/sys/altq/altq_subr.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_subr.c,v 1.32 2016/06/20 08:30:58 knakahara Exp $ */
+/* $NetBSD: altq_subr.c,v 1.33 2017/03/14 09:03:08 ozaki-r Exp $ */
/* $KAME: altq_subr.c,v 1.24 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.32 2016/06/20 08:30:58 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.33 2017/03/14 09:03:08 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -360,7 +360,7 @@ tbr_timeout(void *arg)
struct psref psref;
if (!TBR_IS_ENABLED(&ifp->if_snd))
continue;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
pserialize_read_exit(s);
active++;
@@ -371,7 +371,7 @@ tbr_timeout(void *arg)
}
s = pserialize_read_enter();
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
Index: src/sys/compat/common/uipc_syscalls_40.c
diff -u src/sys/compat/common/uipc_syscalls_40.c:1.12 src/sys/compat/common/uipc_syscalls_40.c:1.13
--- src/sys/compat/common/uipc_syscalls_40.c:1.12 Mon Aug 1 03:15:30 2016
+++ src/sys/compat/common/uipc_syscalls_40.c Tue Mar 14 09:03:08 2017
@@ -1,9 +1,9 @@
-/* $NetBSD: uipc_syscalls_40.c,v 1.12 2016/08/01 03:15:30 ozaki-r Exp $ */
+/* $NetBSD: uipc_syscalls_40.c,v 1.13 2017/03/14 09:03:08 ozaki-r Exp $ */
/* written by Pavel Cahyna, 2006. Public domain. */
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_40.c,v 1.12 2016/08/01 03:15:30 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_40.c,v 1.13 2017/03/14 09:03:08 ozaki-r Exp $");
/*
* System call interface to the socket abstraction.
@@ -52,7 +52,7 @@ compat_ifconf(u_long cmd, void *data)
IFNET_READER_FOREACH(ifp) {
struct ifaddr *ifa;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
(void)strncpy(ifr.ifr_name, ifp->if_xname,
sizeof(ifr.ifr_name));
@@ -126,7 +126,7 @@ compat_ifconf(u_long cmd, void *data)
space -= sz;
}
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
@@ -139,7 +139,7 @@ compat_ifconf(u_long cmd, void *data)
release_exit:
pserialize_read_exit(s);
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
curlwp_bindx(bound);
return error;
}
Index: src/sys/compat/linux/common/linux_socket.c
diff -u src/sys/compat/linux/common/linux_socket.c:1.137 src/sys/compat/linux/common/linux_socket.c:1.138
--- src/sys/compat/linux/common/linux_socket.c:1.137 Fri Feb 3 16:57:39 2017
+++ src/sys/compat/linux/common/linux_socket.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_socket.c,v 1.137 2017/02/03 16:57:39 christos Exp $ */
+/* $NetBSD: linux_socket.c,v 1.138 2017/03/14 09:03:08 ozaki-r Exp $ */
/*-
* Copyright (c) 1995, 1998, 2008 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_socket.c,v 1.137 2017/02/03 16:57:39 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_socket.c,v 1.138 2017/03/14 09:03:08 ozaki-r Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -1143,7 +1143,7 @@ linux_getifconf(struct lwp *l, register_
s = pserialize_read_enter();
IFNET_READER_FOREACH(ifp) {
struct ifaddr *ifa;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
(void)strncpy(ifr.ifr_name, ifp->if_xname,
sizeof(ifr.ifr_name));
@@ -1179,7 +1179,7 @@ linux_getifconf(struct lwp *l, register_
ifa_release(ifa, &psref_ifa);
}
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
@@ -1193,7 +1193,7 @@ linux_getifconf(struct lwp *l, register_
release_exit:
pserialize_read_exit(s);
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
curlwp_bindx(bound);
return error;
}
Index: src/sys/compat/linux32/common/linux32_socket.c
diff -u src/sys/compat/linux32/common/linux32_socket.c:1.26 src/sys/compat/linux32/common/linux32_socket.c:1.27
--- src/sys/compat/linux32/common/linux32_socket.c:1.26 Mon Aug 1 03:15:30 2016
+++ src/sys/compat/linux32/common/linux32_socket.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_socket.c,v 1.26 2016/08/01 03:15:30 ozaki-r Exp $ */
+/* $NetBSD: linux32_socket.c,v 1.27 2017/03/14 09:03:08 ozaki-r Exp $ */
/*-
* Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
@@ -33,7 +33,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_socket.c,v 1.26 2016/08/01 03:15:30 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_socket.c,v 1.27 2017/03/14 09:03:08 ozaki-r Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -441,7 +441,7 @@ linux32_getifconf(struct lwp *l, registe
s = pserialize_read_enter();
IFNET_READER_FOREACH(ifp) {
struct ifaddr *ifa;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
(void)strncpy(ifr.ifr_name, ifp->if_xname,
sizeof(ifr.ifr_name));
@@ -477,7 +477,7 @@ linux32_getifconf(struct lwp *l, registe
ifa_release(ifa, &psref_ifa);
}
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
@@ -491,7 +491,7 @@ linux32_getifconf(struct lwp *l, registe
release_exit:
pserialize_read_exit(s);
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
curlwp_bindx(bound);
return error;
}
Index: src/sys/dist/pf/net/pf_if.c
diff -u src/sys/dist/pf/net/pf_if.c:1.32 src/sys/dist/pf/net/pf_if.c:1.33
--- src/sys/dist/pf/net/pf_if.c:1.32 Mon Dec 26 23:21:49 2016
+++ src/sys/dist/pf/net/pf_if.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pf_if.c,v 1.32 2016/12/26 23:21:49 christos Exp $ */
+/* $NetBSD: pf_if.c,v 1.33 2017/03/14 09:03:08 ozaki-r Exp $ */
/* $OpenBSD: pf_if.c,v 1.47 2007/07/13 09:17:48 markus Exp $ */
/*
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pf_if.c,v 1.32 2016/12/26 23:21:49 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pf_if.c,v 1.33 2017/03/14 09:03:08 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -126,14 +126,14 @@ pfi_initialize(void)
s = pserialize_read_enter();
IFNET_READER_FOREACH(ifp) {
struct psref psref;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
pserialize_read_exit(s);
pfi_init_groups(ifp);
pfi_attach_ifnet(ifp);
s = pserialize_read_enter();
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
@@ -159,14 +159,14 @@ pfi_destroy(void)
s = pserialize_read_enter();
IFNET_READER_FOREACH(ifp) {
struct psref psref;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
pserialize_read_exit(s);
pfi_detach_ifnet(ifp);
pfi_destroy_groups(ifp);
s = pserialize_read_enter();
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
Index: src/sys/kern/uipc_mbuf.c
diff -u src/sys/kern/uipc_mbuf.c:1.170 src/sys/kern/uipc_mbuf.c:1.171
--- src/sys/kern/uipc_mbuf.c:1.170 Mon Jan 9 14:25:52 2017
+++ src/sys/kern/uipc_mbuf.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_mbuf.c,v 1.170 2017/01/09 14:25:52 christos Exp $ */
+/* $NetBSD: uipc_mbuf.c,v 1.171 2017/03/14 09:03:08 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.170 2017/01/09 14:25:52 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.171 2017/03/14 09:03:08 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_mbuftrace.h"
@@ -562,14 +562,12 @@ m_reclaim(void *arg, int flags)
IFNET_READER_FOREACH(ifp) {
struct psref psref;
- psref_acquire(&psref, &ifp->if_psref,
- ifnet_psref_class);
+ if_acquire(ifp, &psref);
if (ifp->if_drain)
(*ifp->if_drain)(ifp);
- psref_release(&psref, &ifp->if_psref,
- ifnet_psref_class);
+ if_release(ifp, &psref);
}
curlwp_bindx(bound);
}
Index: src/sys/net/if.c
diff -u src/sys/net/if.c:1.384 src/sys/net/if.c:1.385
--- src/sys/net/if.c:1.384 Tue Mar 14 04:25:10 2017
+++ src/sys/net/if.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: if.c,v 1.384 2017/03/14 04:25:10 ozaki-r Exp $ */
+/* $NetBSD: if.c,v 1.385 2017/03/14 09:03:08 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.384 2017/03/14 04:25:10 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.385 2017/03/14 09:03:08 ozaki-r Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -176,7 +176,7 @@ static size_t if_indexlim = 0;
static uint64_t index_gen;
/* Mutex to protect the above objects. */
kmutex_t ifnet_mtx __cacheline_aligned;
-struct psref_class *ifnet_psref_class __read_mostly;
+static struct psref_class *ifnet_psref_class __read_mostly;
static pserialize_t ifnet_psz;
static kmutex_t if_clone_mtx;
Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.235 src/sys/net/if.h:1.236
--- src/sys/net/if.h:1.235 Thu Feb 23 07:57:10 2017
+++ src/sys/net/if.h Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: if.h,v 1.235 2017/02/23 07:57:10 ozaki-r Exp $ */
+/* $NetBSD: if.h,v 1.236 2017/03/14 09:03:08 ozaki-r Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -975,6 +975,7 @@ ifnet_t *if_byindex(u_int);
ifnet_t *if_get_byindex(u_int, struct psref *);
void if_put(const struct ifnet *, struct psref *);
void if_acquire(struct ifnet *, struct psref *);
+#define if_release if_put
static inline if_index_t
if_get_index(const struct ifnet *ifp)
@@ -1170,7 +1171,6 @@ __END_DECLS
} while (0)
extern struct pslist_head ifnet_pslist;
-extern struct psref_class *ifnet_psref_class;
extern kmutex_t ifnet_mtx;
extern struct ifnet *lo0ifp;
Index: src/sys/net/rtsock.c
diff -u src/sys/net/rtsock.c:1.206 src/sys/net/rtsock.c:1.207
--- src/sys/net/rtsock.c:1.206 Tue Mar 14 08:35:55 2017
+++ src/sys/net/rtsock.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: rtsock.c,v 1.206 2017/03/14 08:35:55 ozaki-r Exp $ */
+/* $NetBSD: rtsock.c,v 1.207 2017/03/14 09:03:08 ozaki-r Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.206 2017/03/14 08:35:55 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.207 2017/03/14 09:03:08 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1685,7 +1685,7 @@ sysctl_iflist(int af, struct rt_walkarg
if (IFADDR_READER_EMPTY(ifp))
continue;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
pserialize_read_exit(s);
info.rti_info[RTAX_IFP] = ifp->if_dl->ifa_addr;
@@ -1719,7 +1719,7 @@ sysctl_iflist(int af, struct rt_walkarg
info.rti_info[RTAX_BRD] = NULL;
s = pserialize_read_enter();
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
@@ -1727,7 +1727,7 @@ sysctl_iflist(int af, struct rt_walkarg
return 0;
release_exit:
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
curlwp_bindx(bound);
return error;
}
Index: src/sys/netinet/ip_carp.c
diff -u src/sys/netinet/ip_carp.c:1.85 src/sys/netinet/ip_carp.c:1.86
--- src/sys/netinet/ip_carp.c:1.85 Mon Feb 27 08:26:53 2017
+++ src/sys/netinet/ip_carp.c Tue Mar 14 09:03:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_carp.c,v 1.85 2017/02/27 08:26:53 ozaki-r Exp $ */
+/* $NetBSD: ip_carp.c,v 1.86 2017/03/14 09:03:08 ozaki-r Exp $ */
/* $OpenBSD: ip_carp.c,v 1.113 2005/11/04 08:11:54 mcbride Exp $ */
/*
@@ -33,7 +33,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.85 2017/02/27 08:26:53 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.86 2017/03/14 09:03:08 ozaki-r Exp $");
/*
* TODO:
@@ -975,7 +975,7 @@ carp_send_ad_all(void)
if (ifp->if_carp == NULL || ifp->if_type == IFT_CARP)
continue;
- psref_acquire(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_acquire(ifp, &psref);
pserialize_read_exit(s);
cif = (struct carp_if *)ifp->if_carp;
@@ -986,7 +986,7 @@ carp_send_ad_all(void)
}
s = pserialize_read_enter();
- psref_release(&psref, &ifp->if_psref, ifnet_psref_class);
+ if_release(ifp, &psref);
}
pserialize_read_exit(s);
curlwp_bindx(bound);
Index: src/sys/rump/librump/rumpnet/net_stub.c
diff -u src/sys/rump/librump/rumpnet/net_stub.c:1.24 src/sys/rump/librump/rumpnet/net_stub.c:1.25
--- src/sys/rump/librump/rumpnet/net_stub.c:1.24 Sat Nov 26 03:17:58 2016
+++ src/sys/rump/librump/rumpnet/net_stub.c Tue Mar 14 09:03:09 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: net_stub.c,v 1.24 2016/11/26 03:17:58 ozaki-r Exp $ */
+/* $NetBSD: net_stub.c,v 1.25 2017/03/14 09:03:09 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.24 2016/11/26 03:17:58 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: net_stub.c,v 1.25 2017/03/14 09:03:09 ozaki-r Exp $");
#include <sys/mutex.h>
#include <sys/param.h>
@@ -73,7 +73,6 @@ __weak_alias(vlan_ifdetach,rumpnet_stub)
struct ifnet_head ifnet_list;
struct pslist_head ifnet_pslist;
-struct psref_class *ifnet_psref_class;
kmutex_t ifnet_mtx;
int