From owner-freebsd-arch@FreeBSD.ORG Thu Nov 13 09:13:51 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D9D0B7E1; Thu, 13 Nov 2014 09:13:51 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id C3BB4A47; Thu, 13 Nov 2014 09:13:51 +0000 (UTC) Received: from AlfredMacbookAir.local (c-76-21-10-192.hsd1.ca.comcast.net [76.21.10.192]) by elvis.mu.org (Postfix) with ESMTPSA id D4652341F844; Thu, 13 Nov 2014 01:13:50 -0800 (PST) Message-ID: <5464764E.9080308@freebsd.org> Date: Thu, 13 Nov 2014 01:13:50 -0800 From: Alfred Perlstein Organization: FreeBSD User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: Questions about locking; turnstiles and sleeping threads References: <20141112212613.21037929@kan> <546472DA.3080006@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-arch@freebsd.org" X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2014 09:13:51 -0000 On 11/13/14, 1:09 AM, Adrian Chadd wrote: > On 13 November 2014 00:59, Alfred Perlstein wrote: >> On 11/12/14, 11:25 PM, Adrian Chadd wrote: >>> On 12 November 2014 19:48, Adrian Chadd wrote: >>>> kan pointed out that we should likely do a WITNESS_WARN() in the >>>> relevant spots in the callout code so we catch these before it >>>> happens. >>>> >>>> I'll see what we can add to -HEAD to be pro-active about it. >>> Amusingly, I tried adding it and it made my laptop turn to soup very >>> quickly - among other things, the TCP timer callouts are all setup >>> with non sleep locks held. >>> >> Howso? You only have to worry about callout_drain(), most other callout >> functions should be safe-ish.... > yeah, except for all the places where they drain the timer once > something happens so it doesn't fire. > > :) What is the backtrace...?