> On Dec 23, 2018, at 9:34 AM, Martin Husemann <[email protected]> wrote:
> 
>> For completeness, I'll explore the rump option
> 
> That is definitively the prefered way. One example is npf usint it to
> test custom kernel test code, but that overall is a bit ... complex.

A downside I see to the rump option... as far as I can tell, rumpkern is build 
with no DIAGNOSTIC, so all of the KASSERT()s in kern_threadpool.c will never 
get a chance to fire.  At least the module approach will tickle that code path, 
at least for -current GENERIC.  Especially around object lifecycle, there are 
cases in the code where the API might work fine, but invariants are violated 
leading to "weird" behavior later, so I want those invariants to be checked in 
the normal course of testing.

I suppose I can define my own assertion macro in kern_threadpool.c dependent on 
_RUMPKERNEL ... but that doesn't seem ideal, either.

-- thorpej

Reply via email to