[illumos-Developer] Reaping enablings on defunct providers

Bryan Cantrill bryan at joyent.com
Tue Jul 12 17:23:21 PDT 2011


On Tue, Jul 12, 2011 at 5:15 PM, Adam Leventhal <ahl at delphix.com> wrote:
> Hey Bryan
>
>> Supporting a ring buffer policy is a tad brutal, because it would
>> require processing the entire ring to verify that the ECB isn't in it.
>>  There are ways we could optimize that, but they're ugly; unless
>> someone is burning with this use case, I'd rather punt on it.
>> Anonymous tracing will just work; once the enabling is claimed, the
>> buffer will be switched, and it will become reapable.
>
> I actually meant a negative test case.

As I imagine you saw, there's already one there that uses speculative
tracing and verifies that enablings are not reaped:

  usr/src/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh

Having a test that uses ring buffering is certainly possible, it's
just a more complicated test to write. (I'm currently cheating a bit
by using one enabling to kick off another.)  But I'm happy to add it
if you'd like to see it...

>> Yes; you don't want to keep trying in perpetuity because you may be
>> blocked by either a ring buffer policy or speculative tracing or
>> something else that is managing to cache ECB state.  So after a while,
>> you want to give up.
>
> Would that be worth a one- or two-line comment?

There's already the comment that it's padded out to avoid false
sharing; does it merit more than that?

        - Bryan



More information about the Developer mailing list