From owner-freebsd-current@FreeBSD.ORG Wed Dec 3 13:53:32 2014 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DB4B0155; Wed, 3 Dec 2014 13:53:32 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id AC0BBB85; Wed, 3 Dec 2014 13:53:32 +0000 (UTC) Received: from Julian-MBP3.local (ppp121-45-246-72.lns20.per2.internode.on.net [121.45.246.72]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id sB3DrQvT055364 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 3 Dec 2014 05:53:29 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <547F15D0.8050009@freebsd.org> Date: Wed, 03 Dec 2014 21:53:20 +0800 From: Julian Elischer 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: Andriy Gapon , Warner Losh Subject: Re: witness and modules. References: <54788FF3.3030602@freebsd.org> <2805430.yZtslRjaC7@ralph.baldwin.cx> <547D4947.4040203@freebsd.org> <547E766A.1070008@freebsd.org> <547EF378.8090202@FreeBSD.org> In-Reply-To: <547EF378.8090202@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-current@FreeBSD.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 13:53:33 -0000 On 12/3/14, 7:26 PM, Andriy Gapon wrote: > On 03/12/2014 04:33, Julian Elischer wrote: >> On 12/3/14, 12:24 AM, Warner Losh wrote: >>>> On Dec 1, 2014, at 10:08 PM, Julian Elischer wrote: >>>> >>>> On 12/1/14, 11:39 PM, John Baldwin wrote: >>>>> On Friday, November 28, 2014 11:08:35 PM Julian Elischer wrote: >>>>>> Do we need to compile all modules with witness definitions when >>>>>> linking with a kernel compiled with witness? >>>>>> This was true at one stage but I remember some work was done to make >>>>>> them compatible. >>>>> You should not need this. modules always call functions in the kernel for >>>>> lock operations and this functions are what invoke WITNESS. >>>>> >>>> that's what I thought but empirical evidence disagrees. >>>> I'll try some more cases. >>> I swap back and forth all the time between the two. Kernel modules don’t >>> change when you compile them with WITNESS or without. >> not entirely.. >> hwpmc.ko: U witness_restore >> hwpmc.ko: U witness_save >> zfs.ko: U witness_restore >> zfs.ko: U witness_save > Seems like the problem affects modules that use DROP_GIANT / PICKUP_GIANT. > that's a good observation. I'll take a look a that later.