On Wednesday, December 03, 2014 09:53:20 PM Julian Elischer wrote: > 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 <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. > > that's a good observation. I'll take a look a that later. Yes, that isn't really intended to be used publically. The pmc one is stale as system calls haven't run with Giant in several releases. All the ones for g_topology_lock() also seem to be broken-by-designed. There is no good reason I can think of for g_topology_lock() to assert that Giant isn't held. I suspect phk_at_ just wanted to force geom to be locked without Giant, but I'm not sure that is the best way to achieve that? Poul, is that correct? If you fix that you can remove almost all of the DROP_GIANT/PICKUP_GIANT in the tree. They should really only be in the _sleep() and cv_wait_*() functions where they are used to give Giant its "special" property of being dropped while asleep. -- John BaldwinReceived on Wed Dec 03 2014 - 15:47:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:54 UTC