Date: Sat, 13 Dec 2008 08:32:13 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r186033 - in projects/arpv2_merge_1/sys: net netinet6 Message-ID: <200812130832.mBD8WD2P023512@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kmacy Date: Sat Dec 13 08:32:13 2008 New Revision: 186033 URL: http://svn.freebsd.org/changeset/base/186033 Log: updating locking interface to llentry_free Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c projects/arpv2_merge_1/sys/netinet6/nd6.c Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c ============================================================================== --- projects/arpv2_merge_1/sys/net/if_llatbl.c Sat Dec 13 08:31:32 2008 (r186032) +++ projects/arpv2_merge_1/sys/net/if_llatbl.c Sat Dec 13 08:32:13 2008 (r186033) @@ -92,8 +92,8 @@ done: void llentry_free(struct llentry *lle) { - - LLE_WLOCK(lle); + + LLE_WLOCK_ASSERT(lle); LIST_REMOVE(lle, lle_next); if (lle->la_hold != NULL) @@ -121,7 +121,9 @@ lltable_free(struct lltable *llt) for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { + callout_drain(&lle->la_timer); + LLE_WLOCK(lle); llentry_free(lle); } } Modified: projects/arpv2_merge_1/sys/netinet6/nd6.c ============================================================================== --- projects/arpv2_merge_1/sys/netinet6/nd6.c Sat Dec 13 08:31:32 2008 (r186032) +++ projects/arpv2_merge_1/sys/netinet6/nd6.c Sat Dec 13 08:32:13 2008 (r186033) @@ -1094,6 +1094,7 @@ nd6_free(struct llentry *ln, int gc) ifp = ln->lle_tbl->llt_ifp; IF_AFDATA_LOCK(ifp); + LLE_WLOCK(ln); llentry_free(ln); IF_AFDATA_UNLOCK(ifp);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812130832.mBD8WD2P023512>