Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Mar 2009 22:07:52 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/cddl/dev/dtnfsclient dtnfsclient.c src/sys/modules/dtrace Makefile src/sys/modules/dtrace/dtnfsclient Makefile src/sys/modules/dtrace/dtraceall dtraceall.c src/sys/nfsclient nfs_krpc.c src/sys/sys dtrace_bsd.h
Message-ID:  <200903222208.n2MM8pdt031486@repoman.freebsd.org>

index | next in thread | raw e-mail

rwatson     2009-03-22 22:07:52 UTC

  FreeBSD src repository

  Modified files:
    sys/modules/dtrace   Makefile 
    sys/modules/dtrace/dtraceall dtraceall.c 
    sys/nfsclient        nfs_krpc.c 
    sys/sys              dtrace_bsd.h 
  Added files:
    sys/cddl/dev/dtnfsclient dtnfsclient.c 
    sys/modules/dtrace/dtnfsclient Makefile 
  Log:
  SVN rev 190293 on 2009-03-22 22:07:52Z by rwatson
  
  Add dtnfsclient, a first cut at an NFSv2/v3 client reuest DTrace
  provider.  The NFS client exposes 'start' and 'done' probes for NFSv2
  and NFSv3 RPCs when using the new RPC implementation, passing in the
  vnode, mbuf chain, credential, and NFSv2 or NFSv3 procedure number.
  For 'done' probes, the error number is also available.
  
  Probes are named in the following way:
  
    ...
    nfsclient:nfs2:write:start
    nfsclient:nfs2:write:done
    ...
    nfsclient:nfs3:access:start
    nfsclient:nfs3:access:done
    ...
  
  Access to the unmarshalled arguments is not easily available at this
  point in the stack, but the passed probe arguments are sufficient to
  to a lot of interesting things in practice.  Technically, these probes
  may cover multiple RPC retransmits, and even transactions if the
  transaction ID change as a result of authentication failure or a
  jukebox error from the server, but usefully capture the intent of a
  single NFS request, such as access, getattr, write, etc.
  
  Typical use might involve profiling RPC latency by system call, number
  of RPCs, how often a getattr leads to a call to access, when failed
  access control checks occur, etc.  More detailed RPC information might
  best be provided by adding a krpc provider.  It would also be useful
  to add NFS client probes for events such as the access cache or
  attribute cache satisfying requests without an RPC.
  
  Sponsored by:   Google, Inc.
  MFC after:      1 month
  
  Revision  Changes    Path
  1.1       +343 -0    src/sys/cddl/dev/dtnfsclient/dtnfsclient.c (new)
  1.5       +1 -0      src/sys/modules/dtrace/Makefile
  1.1       +13 -0     src/sys/modules/dtrace/dtnfsclient/Makefile (new)
  1.3       +1 -0      src/sys/modules/dtrace/dtraceall/dtraceall.c
  1.3       +75 -0     src/sys/nfsclient/nfs_krpc.c
  1.2       +12 -0     src/sys/sys/dtrace_bsd.h


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903222208.n2MM8pdt031486>