From owner-freebsd-net@FreeBSD.ORG Wed Jan 4 15:47:39 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64944106566C; Wed, 4 Jan 2012 15:47:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id E4E608FC15; Wed, 4 Jan 2012 15:47:38 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id CC62325D3870; Wed, 4 Jan 2012 15:47:37 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id EB5C5BD876E; Wed, 4 Jan 2012 15:47:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id CyazXpBrVY5T; Wed, 4 Jan 2012 15:47:35 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id B24D1BD876D; Wed, 4 Jan 2012 15:47:35 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <21AEF92A-94B5-4115-91A7-D3BEEFDAB433@FreeBSD.org> Date: Wed, 4 Jan 2012 15:47:34 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <4D3CFC08-7DE4-4620-B8FC-162CEEA14F75@FreeBSD.org> References: <201112221130.01823.jhb@freebsd.org> <201112291527.26763.jhb@freebsd.org> <76A806B1-6D12-46DD-BC9D-F3CBDC587330@FreeBSD.org> <21AEF92A-94B5-4115-91A7-D3BEEFDAB433@FreeBSD.org> To: John Baldwin X-Mailer: Apple Mail (2.1084) Cc: FreeBSD Net , Robert Watson Subject: Re: Transitioning if_addr_lock to an rwlock X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jan 2012 15:47:39 -0000 On 4. Jan 2012, at 12:45 , Bjoern A. Zeeb wrote: >=20 > On 3. Jan 2012, at 22:19 , Bjoern A. Zeeb wrote: >=20 >> On 29. Dec 2011, at 20:27 , John Baldwin wrote: >>> I've gone ahead with this approach. I have three separate patches = that should >>> implement Phase 1. All of them can be found at >>> http://www.FreeBSD.org/~jhb/patches/ >>>=20 >>> - if_addr_dev.patch This fixes a few new device drivers that = were using >>> the locking macros directly rather than the = wrapper >>> functions Robert added. I've already sent = this >>> directly to the relevant driver maintainers = for their >>> review. >>> - if_addr_macros.patch This adds new locking macros to support = read locks vs >>> write locks. However, they all still map to = mutex >>> operations. >>=20 >> The first two look good. I wondered why you didn't need the = r-wraper-functions >> but obviously they had been named like that already:) >>=20 >>=20 >> I'll look at the one below in more detail and get back to you. >>=20 >>> - if_addr_uses.patch This changes callers of the existing macros = to use >>> either read or write locks. This is the patch = that >>> could use the most review. >=20 > I went through this one as well. >=20 > I skipped mld6.c, in6.c, igmp.c and in.c as they need to be = regenerated. > in nd6_rtr.c/prelist_update I think we are lacking an ifa_ref() dance > currently but that's unrelated. The other conversions to R/W locking > seemed ok. The other 4 seem ok in the regen'ed version though I didn't fully check all RLOCKs into called functions in the two multicast ones. /bz --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do!