witness and modules.

Andriy Gapon avg at FreeBSD.org
Wed Dec 3 11:27:49 UTC 2014


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 <julian at freebsd.org> 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.

-- 
Andriy Gapon


More information about the freebsd-current mailing list