Module Name:    src
Committed By:   ozaki-r
Date:           Wed Feb 10 06:30:23 UTC 2016

Modified Files:
        src/sys/net: if_bridge.c if_bridgevar.h

Log Message:
Don't share struct work, instead have one per softc

Pointed out by riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.106 -r1.107 src/sys/net/if_bridge.c
cvs rdiff -u -r1.24 -r1.25 src/sys/net/if_bridgevar.h

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

Modified files:

Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.106 src/sys/net/if_bridge.c:1.107
--- src/sys/net/if_bridge.c:1.106	Tue Feb  9 08:32:12 2016
+++ src/sys/net/if_bridge.c	Wed Feb 10 06:30:23 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bridge.c,v 1.106 2016/02/09 08:32:12 ozaki-r Exp $	*/
+/*	$NetBSD: if_bridge.c,v 1.107 2016/02/10 06:30:23 ozaki-r Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.106 2016/02/09 08:32:12 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.107 2016/02/10 06:30:23 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_bridge_ipf.h"
@@ -217,7 +217,6 @@ __CTASSERT(offsetof(struct ifbifconf, if
 int	bridge_rtable_prune_period = BRIDGE_RTABLE_PRUNE_PERIOD;
 
 static struct pool bridge_rtnode_pool;
-static struct work bridge_rtage_wk;
 
 static int	bridge_clone_create(struct if_clone *, int);
 static int	bridge_clone_destroy(struct ifnet *);
@@ -2275,7 +2274,7 @@ bridge_timer(void *arg)
 {
 	struct bridge_softc *sc = arg;
 
-	workqueue_enqueue(sc->sc_rtage_wq, &bridge_rtage_wk, NULL);
+	workqueue_enqueue(sc->sc_rtage_wq, &sc->sc_rtage_wk, NULL);
 }
 
 static void
@@ -2283,7 +2282,7 @@ bridge_rtage_work(struct work *wk, void 
 {
 	struct bridge_softc *sc = arg;
 
-	KASSERT(wk == &bridge_rtage_wk);
+	KASSERT(wk == &sc->sc_rtage_wk);
 
 	bridge_rtage(sc);
 

Index: src/sys/net/if_bridgevar.h
diff -u src/sys/net/if_bridgevar.h:1.24 src/sys/net/if_bridgevar.h:1.25
--- src/sys/net/if_bridgevar.h:1.24	Mon Jun  1 06:14:43 2015
+++ src/sys/net/if_bridgevar.h	Wed Feb 10 06:30:23 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bridgevar.h,v 1.24 2015/06/01 06:14:43 matt Exp $	*/
+/*	$NetBSD: if_bridgevar.h,v 1.25 2016/02/10 06:30:23 ozaki-r Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -322,6 +322,7 @@ struct bridge_softc {
 	kmutex_t		*sc_rtlist_lock;
 	pserialize_t		sc_rtlist_psz;
 	struct workqueue	*sc_rtage_wq;
+	struct work		sc_rtage_wk;
 	uint32_t		sc_rthash_key;	/* key for hash */
 	uint32_t		sc_filter_flags; /* ipf and flags */
 	pktqueue_t *		sc_fwd_pktq;

Reply via email to