Hi all,
I just noticed an apparent discrepancy between these two and wanted to know
whether this is documented (and I missed it), and whether this is
intentional behaviour.
I'm 'dtrace -F'ing some part of the nxge driver with a script fragment that
looks like this:
fbt:::
/self->w/
{
self->d = walltimestamp - self->wt;
self->wt = walltimestamp;
printf("\t\t%x %d", self->wt, self->d);
}
this means I want to see the delay I get between *every* call in and return
from a function.
I get output like this:
3 -> nxge_m_tx 10875582dfac70b3 0
3 -> nxge_send 10875582dfac70b3 0
3 -> nxge_tx_lb_ring_1 10875582dfac70b3 0
3 <- nxge_tx_lb_ring_1 10875582dfac70b3 0
3 -> nxge_serialize_enter 10875582dfac70b3 0
3 -> nxge_serial_put 10875582dfac70b3 0
3 <- nxge_serial_put 10875582dfac70b3 0
3 -> nxge_freelance 10875582dfac70b3 0
3 -> nxge_serial_getn 10875582dfac70b3 0
3 <- nxge_serial_getn 10875582dfac70b3 0
3 -> nxge_serial_tx 10875582dfac70b3 0
3 -> nxge_start 10875582dfac70b3 0
(much longer ... and always the same timestamp). I tried replacing
"walltimestamp" with "timestamp", and got:
3 -> nxge_m_tx 4692f8c2733f 2887
3 -> nxge_send 4692f8c284be 4479
3 -> nxge_tx_lb_ring_1 4692f8c28ea3 2533
3 <- nxge_tx_lb_ring_1 4692f8c297ea 2375
3 -> nxge_serialize_enter 4692f8c2a382 2968
3 -> nxge_serial_put 4692f8c2acd4 2386
3 <- nxge_serial_put 4692f8c2b536 2146
3 -> nxge_freelance 4692f8c2c72b 4597
3 -> nxge_serial_getn 4692f8c2ce77 1868
3 <- nxge_serial_getn 4692f8c2d73b 2244
3 -> nxge_serial_tx 4692f8c2e055 2330
3 -> nxge_start 4692f8c2ea16 2497
3 -> hcksum_retrieve 4692f8c2f537 2849
3 <- hcksum_retrieve 4692f8c30513 4060
3 -> nxge_txdma_reclaim 4692f8c31112 3071
which looks much more likely to me.
I always thought that walltimestamp was the same thing as timestamp plus an
offset ... but this does not seem to be the case.
comments? RTFM?
thx!
Michael
--
Michael Schuster
Recursion, n.: see 'Recursion'
_______________________________________________
dtrace-discuss mailing list
[email protected]