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;