From owner-freebsd-net@FreeBSD.ORG Fri Jan 3 02:55:47 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0ADD4454; Fri, 3 Jan 2014 02:55:47 +0000 (UTC) Received: from smtp.vangyzen.net (hotblack.vangyzen.net [IPv6:2607:fc50:1000:7400:216:3eff:fe72:314f]) by mx1.freebsd.org (Postfix) with ESMTP id D3ECA1DA1; Fri, 3 Jan 2014 02:55:46 +0000 (UTC) Received: from latitude.home.vangyzen.net (173-20-209-204.client.mchsi.com [173.20.209.204]) by smtp.vangyzen.net (Postfix) with ESMTPSA id E15EE56423; Thu, 2 Jan 2014 20:55:45 -0600 (CST) Message-ID: <52C626AD.5030606@vangyzen.net> Date: Thu, 02 Jan 2014 20:55:41 -0600 From: Eric van Gyzen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: ipv6 lock contention with parallel socket io References: <52C5A020.9010404@vangyzen.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jan 2014 02:55:47 -0000 >> However, the assertion in in6_lltable_lookup() seems insufficient. It >> asserts any lock on afdata. I think it should also assert a write-lock >> in the LLE_CREATE case. >> >> Granted, this is not strictly related to your change. > > Would you mind doing up a quick patch to demonstrate? Sure. http://www.vangyzen.net/FreeBSD/patches/in6_lltable_lookup_wlock_assert.diff This is not even compile-tested. > I've heard mumblings at work that ipv6 panics if you change the > routing tables during active traffic so if we're missing lock > assertions I'd like to add them now and try to pick up the problem as > it happens in testing. Excellent idea. Good luck, and thank you. Eric