From owner-svn-src-head@FreeBSD.ORG Thu Mar 25 20:15:07 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F818106566B; Thu, 25 Mar 2010 20:15:07 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 4A0AA8FC1D; Thu, 25 Mar 2010 20:15:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id AB2A241C756; Thu, 25 Mar 2010 21:15:06 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id EBC5iO+2jYWo; Thu, 25 Mar 2010 21:15:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id D18CB41C6DB; Thu, 25 Mar 2010 21:15:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id D7C894448EC; Thu, 25 Mar 2010 20:14:58 +0000 (UTC) Date: Thu, 25 Mar 2010 20:14:58 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Rui Paulo In-Reply-To: Message-ID: <20100325201233.J33454@maildrop.int.zabbadoz.net> References: <201003251029.o2PAT0AW031465@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r205637 - head/sys/netinet6 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Mar 2010 20:15:07 -0000 On Thu, 25 Mar 2010, Rui Paulo wrote: > > On 25 Mar 2010, at 10:29, Bjoern A. Zeeb wrote: > >> Author: bz >> Date: Thu Mar 25 10:29:00 2010 >> New Revision: 205637 >> URL: http://svn.freebsd.org/changeset/base/205637 >> >> Log: >> We are holding a write lock here so avoid aquiring it twice calling >> the "locked" version rather than the wrapper function. >> >> MFC after: 6 days >> >> Modified: >> head/sys/netinet6/nd6.c >> >> Modified: head/sys/netinet6/nd6.c >> ============================================================================== >> --- head/sys/netinet6/nd6.c Thu Mar 25 10:13:21 2010 (r205636) >> +++ head/sys/netinet6/nd6.c Thu Mar 25 10:29:00 2010 (r205637) >> @@ -1168,7 +1168,7 @@ nd6_nud_hint(struct rtentry *rt, struct > > > This code is probably missing a: > LLE_WLOCK_ASSERT(lle); > at the beginning. No, the lock is acquired in ln = nd6_lookup(dst6, ND6_EXCLUSIVE, NULL); calling into lla_lookup().. ending in in6_lltable_lookup() and hold if the ln is not NULL. >> >> ln->ln_state = ND6_LLINFO_REACHABLE; >> if (!ND6_LLINFO_PERMANENT(ln)) { >> - nd6_llinfo_settimer(ln, >> + nd6_llinfo_settimer_locked(ln, >> (long)ND_IFINFO(rt->rt_ifp)->reachable * hz); >> } >> done: > > -- > Rui Paulo > -- Bjoern A. Zeeb It will not break if you know what you are doing.