Hey Darren,
My guess is that ip_bindreq() is making a tail-call to dlerrorack()
which
would explain the output below. You can check this by disassembling
ip_bindreq().
Adam
On Jul 24, 2009, at 6:57 PM, Darren Reed wrote:
> Lookig at dtrace output from 118, I see the following (as an example):
>
> 6 -> ipnet_bindreq
> 6 | ipnet_bindreq:return
> 6 <- ipnet_bindreq 60012e80658
> 6 -> dlerrorack
> 6 -> mexchange
> 6 <- mexchange 6001094f7a0
> 6 <- dlerrorack 60012e80658
> 6 -> qreply
> 6 <- qreply 60012e80560
>
> when doing "/usr/sbin/dtrace -Fs".
>
> What''s wrong here is that dlerrorack is not shown as being
executed
> from ipnet_bindreq, even though it is.
>
> What this means is that I cannot do the following:
>
> fbt:ipnet:ipnet_bindreq:entry { self->trace = 1; }
> fbt:ipnet:ipnet_bindreq:return { self->trace = 0; }
> fbt::dlerrorack:entry / self->trace / {}
>
> ... because self->trace is always 0 when dlerrorack''entry gets
hit.
>
> Is this:
> - a build problem
> - a dtrace problem
> - a dtrace behaviour change
> - something else
>
> Darren
>
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org
--
Adam Leventhal, Fishworks http://blogs.sun.com/ahl