[dtrace-discuss] [networking-discuss] Re: DTrace Network Providers, take 2
Brendan Gregg - Sun Microsystems
brendan at sun.com
Mon Jul 2 11:58:50 PDT 2007
On Thu, Jun 21, 2007 at 11:49:24AM +0100, Jeremy Harris wrote:
> Hi Brendan,
>
> Brendan Gregg - Sun Microsystems wrote:
> >On Wed, Jun 20, 2007 at 09:53:44PM +0100, Jeremy Harris wrote:
> >>Brendan Gregg - Sun Microsystems wrote:
> >>> ID PROVIDER MODULE FUNCTION NAME
> >>[...]
> >>>11668 ipv4 ip tcp_lsosend_data send
> >>>11669 ipv4 ip tcp_multisend_data send
> >>Aren't these more implementation artifacts than things suitable
> >>for exposure in a stable provider?
> [...]
> >If you meant that LSO and MDT are implementation details, then sure,
> >their activity is tied to implementation, and the IP packets that they
> >generate will be observable by the stable IP provider in a
> >non-implementation
> >specific way (send/receive probes, not lso-send/mdt-send/etc).
>
> This is what I meant, yes.
> So, what stability level will these probes have?
As a new interface, I'd write the DTrace stability table as,
| Name Data Class
-------------+-------------------------------------------
Provider | Evolving Evolving Common
Module | Private Private Unknown
Function | Private Private Unknown
Name | Evolving Evolving Common
Arguments | Unstable Unstable Common
with Arguments becomming "Evolving" in the near future.
The aim of the provider is to be a stable end user interface, with the
send/receive probes tracing activity between IP and the device driver
framework, or itself (loopback).
So for send probes - whatever IP sends down, is traced. For receive probes,
whatever IP receives, is traced.
For MDT, it should be able to trace the individual IP packets as ip:::send,
similar to what sdt::tcp_multisend:ip4-physical-out-start does when hooks
are on.
For LSO, what IP sends down can be 64 Kbyte packets - which is what the IP
provider will trace as a 64 Kbyte ip:::send. This is in line with the role
of the IP provider - to trace what was sent and received to the device
driver layers. Is 64 Kbyte sends confusing enough that it should really be
called ip:::lso-send? ... I don't think so.
What about future hypothetical NIC performance feature, that accepts
packets in some other manner that is much stranger than LSO? That may
indeed be a case for new probe, ip:::mumblefoo-send, or whatever.
Brendan
--
Brendan
[CA, USA]
More information about the dtrace-discuss
mailing list