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;