Date: Thu, 17 Oct 2019 20:18:08 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r353695 - head/sys/net Message-ID: <201910172018.x9HKI8bJ023772@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Thu Oct 17 20:18:07 2019 New Revision: 353695 URL: https://svnweb.freebsd.org/changeset/base/353695 Log: Revert two parts of r353292 that enter epoch when processing vlan capabilities. It could be that entering epoch isn't necessary here, but better take a conservative approach. Submitted by: kp Modified: head/sys/net/if_vlan.c Modified: head/sys/net/if_vlan.c ============================================================================== --- head/sys/net/if_vlan.c Thu Oct 17 20:10:32 2019 (r353694) +++ head/sys/net/if_vlan.c Thu Oct 17 20:18:07 2019 (r353695) @@ -1625,14 +1625,16 @@ vlan_setflags(struct ifnet *ifp, int status) static void vlan_link_state(struct ifnet *ifp) { + struct epoch_tracker et; struct ifvlantrunk *trunk; struct ifvlan *ifv; - NET_EPOCH_ASSERT(); - + NET_EPOCH_ENTER(et); trunk = ifp->if_vlantrunk; - if (trunk == NULL) + if (trunk == NULL) { + NET_EPOCH_EXIT(et); return; + } TRUNK_WLOCK(trunk); VLAN_FOREACH(ifv, trunk) { @@ -1641,6 +1643,7 @@ vlan_link_state(struct ifnet *ifp) trunk->parent->if_link_state); } TRUNK_WUNLOCK(trunk); + NET_EPOCH_EXIT(et); } static void @@ -1770,6 +1773,7 @@ vlan_capabilities(struct ifvlan *ifv) static void vlan_trunk_capabilities(struct ifnet *ifp) { + struct epoch_tracker et; struct ifvlantrunk *trunk; struct ifvlan *ifv; @@ -1779,8 +1783,10 @@ vlan_trunk_capabilities(struct ifnet *ifp) VLAN_SUNLOCK(); return; } + NET_EPOCH_ENTER(et); VLAN_FOREACH(ifv, trunk) vlan_capabilities(ifv); + NET_EPOCH_EXIT(et); VLAN_SUNLOCK(); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910172018.x9HKI8bJ023772>