Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 May 2013 16:42:18 +0000 (UTC)
From:      Andre Oppermann <andre@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r250300 - in head/sys: kern net netinet sys
Message-ID:  <201305061642.r46GgIWP072931@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andre
Date: Mon May  6 16:42:18 2013
New Revision: 250300
URL: http://svnweb.freebsd.org/changeset/base/250300

Log:
  Back out r249318, r249320 and r249327 due to a heisenbug most
  likely related to a race condition in the ipi_hash_lock with
  the exact cause currently unknown but under investigation.

Modified:
  head/sys/kern/uipc_socket.c
  head/sys/net/if.c
  head/sys/net/if_llatbl.c
  head/sys/net/if_llatbl.h
  head/sys/net/if_var.h
  head/sys/netinet/in_pcb.h
  head/sys/netinet/in_var.h
  head/sys/netinet/ip_id.c
  head/sys/netinet/ip_input.c
  head/sys/netinet/tcp_subr.c
  head/sys/sys/socketvar.h

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/kern/uipc_socket.c	Mon May  6 16:42:18 2013	(r250300)
@@ -240,14 +240,14 @@ SYSCTL_INT(_kern_ipc_zero_copy, OID_AUTO
  * accept_mtx locks down per-socket fields relating to accept queues.  See
  * socketvar.h for an annotation of the protected fields of struct socket.
  */
-struct mtx_padalign accept_mtx;
+struct mtx accept_mtx;
 MTX_SYSINIT(accept_mtx, &accept_mtx, "accept", MTX_DEF);
 
 /*
  * so_global_mtx protects so_gencnt, numopensockets, and the per-socket
  * so_gencnt field.
  */
-static struct mtx_padalign so_global_mtx;
+static struct mtx so_global_mtx;
 MTX_SYSINIT(so_global_mtx, &so_global_mtx, "so_glabel", MTX_DEF);
 
 /*

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/net/if.c	Mon May  6 16:42:18 2013	(r250300)
@@ -206,7 +206,7 @@ VNET_DEFINE(struct ifindex_entry *, ifin
  * also to stablize it over long-running ioctls, without introducing priority
  * inversions and deadlocks.
  */
-struct rwlock_padalign ifnet_rwlock;
+struct rwlock ifnet_rwlock;
 struct sx ifnet_sxlock;
 
 /*

Modified: head/sys/net/if_llatbl.c
==============================================================================
--- head/sys/net/if_llatbl.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/net/if_llatbl.c	Mon May  6 16:42:18 2013	(r250300)
@@ -67,7 +67,7 @@ static VNET_DEFINE(SLIST_HEAD(, lltable)
 
 static void vnet_lltable_init(void);
 
-struct rwlock_padalign lltable_rwlock;
+struct rwlock lltable_rwlock;
 RW_SYSINIT(lltable_rwlock, &lltable_rwlock, "lltable_rwlock");
 
 /*

Modified: head/sys/net/if_llatbl.h
==============================================================================
--- head/sys/net/if_llatbl.h	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/net/if_llatbl.h	Mon May  6 16:42:18 2013	(r250300)
@@ -43,7 +43,7 @@ struct rt_addrinfo;
 struct llentry;
 LIST_HEAD(llentries, llentry);
 
-extern struct rwlock_padalign lltable_rwlock;
+extern struct rwlock lltable_rwlock;
 #define	LLTABLE_RLOCK()		rw_rlock(&lltable_rwlock)
 #define	LLTABLE_RUNLOCK()	rw_runlock(&lltable_rwlock)
 #define	LLTABLE_WLOCK()		rw_wlock(&lltable_rwlock)

Modified: head/sys/net/if_var.h
==============================================================================
--- head/sys/net/if_var.h	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/net/if_var.h	Mon May  6 16:42:18 2013	(r250300)
@@ -191,9 +191,9 @@ struct ifnet {
 	void	*if_unused[2];
 	void	*if_afdata[AF_MAX];
 	int	if_afdata_initialized;
+	struct	rwlock if_afdata_lock;
 	struct	task if_linktask;	/* task for link change events */
-	struct	rwlock_padalign if_afdata_lock;
-	struct	rwlock_padalign if_addr_lock;	/* lock to protect address lists */
+	struct	rwlock if_addr_lock;	/* lock to protect address lists */
 
 	LIST_ENTRY(ifnet) if_clones;	/* interfaces of a cloner */
 	TAILQ_HEAD(, ifg_list) if_groups; /* linked list of groups per if */
@@ -832,7 +832,7 @@ struct ifmultiaddr {
 
 #ifdef _KERNEL
 
-extern	struct rwlock_padalign ifnet_rwlock;
+extern	struct rwlock ifnet_rwlock;
 extern	struct sx ifnet_sxlock;
 
 #define	IFNET_LOCK_INIT() do {						\

Modified: head/sys/netinet/in_pcb.h
==============================================================================
--- head/sys/netinet/in_pcb.h	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/netinet/in_pcb.h	Mon May  6 16:42:18 2013	(r250300)
@@ -330,7 +330,7 @@ struct inpcbinfo {
 	/*
 	 * Global lock protecting non-pcbgroup hash lookup tables.
 	 */
-	struct rwlock_padalign	 ipi_hash_lock;
+	struct rwlock		 ipi_hash_lock;
 
 	/*
 	 * Global hash of inpcbs, hashed by local and foreign addresses and

Modified: head/sys/netinet/in_var.h
==============================================================================
--- head/sys/netinet/in_var.h	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/netinet/in_var.h	Mon May  6 16:42:18 2013	(r250300)
@@ -116,7 +116,7 @@ VNET_DECLARE(u_long, in_ifaddrhmask);		/
 #define INADDR_HASH(x) \
 	(&V_in_ifaddrhashtbl[INADDR_HASHVAL(x) & V_in_ifaddrhmask])
 
-extern	struct rwlock_padalign in_ifaddr_lock;
+extern	struct rwlock in_ifaddr_lock;
 
 #define	IN_IFADDR_LOCK_ASSERT()	rw_assert(&in_ifaddr_lock, RA_LOCKED)
 #define	IN_IFADDR_RLOCK()	rw_rlock(&in_ifaddr_lock)

Modified: head/sys/netinet/ip_id.c
==============================================================================
--- head/sys/netinet/ip_id.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/netinet/ip_id.c	Mon May  6 16:42:18 2013	(r250300)
@@ -97,7 +97,7 @@ static int		 array_ptr = 0;
 static int		 array_size = 8192;
 static int		 random_id_collisions = 0;
 static int		 random_id_total = 0;
-static struct mtx_padalign  ip_id_mtx;
+static struct mtx	 ip_id_mtx;
 
 static void	ip_initid(void);
 static int	sysctl_ip_id_change(SYSCTL_HANDLER_ARGS);

Modified: head/sys/netinet/ip_input.c
==============================================================================
--- head/sys/netinet/ip_input.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/netinet/ip_input.c	Mon May  6 16:42:18 2013	(r250300)
@@ -85,7 +85,7 @@ __FBSDID("$FreeBSD$");
 CTASSERT(sizeof(struct ip) == 20);
 #endif
 
-struct rwlock_padalign	in_ifaddr_lock;
+struct	rwlock in_ifaddr_lock;
 RW_SYSINIT(in_ifaddr_lock, &in_ifaddr_lock, "in_ifaddr_lock");
 
 VNET_DEFINE(int, rsvp_on);
@@ -155,7 +155,7 @@ VNET_DEFINE(u_long, in_ifaddrhmask);		/*
 
 static VNET_DEFINE(uma_zone_t, ipq_zone);
 static VNET_DEFINE(TAILQ_HEAD(ipqhead, ipq), ipq[IPREASS_NHASH]);
-static struct mtx_padalign	ipqlock;
+static struct mtx ipqlock;
 
 #define	V_ipq_zone		VNET(ipq_zone)
 #define	V_ipq			VNET(ipq)

Modified: head/sys/netinet/tcp_subr.c
==============================================================================
--- head/sys/netinet/tcp_subr.c	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/netinet/tcp_subr.c	Mon May  6 16:42:18 2013	(r250300)
@@ -255,7 +255,7 @@ static VNET_DEFINE(uma_zone_t, tcpcb_zon
 #define	V_tcpcb_zone			VNET(tcpcb_zone)
 
 MALLOC_DEFINE(M_TCPLOG, "tcplog", "TCP address and flags print buffers");
-static struct mtx_padalign	isn_mtx;
+static struct mtx isn_mtx;
 
 #define	ISN_LOCK_INIT()	mtx_init(&isn_mtx, "isn_mtx", NULL, MTX_DEF)
 #define	ISN_LOCK()	mtx_lock(&isn_mtx)

Modified: head/sys/sys/socketvar.h
==============================================================================
--- head/sys/sys/socketvar.h	Mon May  6 16:11:53 2013	(r250299)
+++ head/sys/sys/socketvar.h	Mon May  6 16:42:18 2013	(r250300)
@@ -133,7 +133,7 @@ struct socket {
  * avoid defining a lock order between listen and accept sockets
  * until such time as it proves to be a good idea.
  */
-extern struct mtx_padalign accept_mtx;
+extern struct mtx accept_mtx;
 #define	ACCEPT_LOCK_ASSERT()		mtx_assert(&accept_mtx, MA_OWNED)
 #define	ACCEPT_UNLOCK_ASSERT()		mtx_assert(&accept_mtx, MA_NOTOWNED)
 #define	ACCEPT_LOCK()			mtx_lock(&accept_mtx)



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