All of lore.kernel.org
 help / color / mirror / Atom feed
* [ltc-perf] draft of nfs event hook
@ 2006-07-26  9:13 Xue Peng Li
  2006-07-26  9:13 ` Christoph Hellwig
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Xue Peng Li @ 2006-07-26  9:13 UTC (permalink / raw)
  To: ltc-perf; +Cc: varap, nfs


[-- Attachment #1.1: Type: text/plain, Size: 7602 bytes --]


Hi folks,

  I am working on NFS trace hooks for SystemTap/LKET. These trace
hooks could be used for performance analyzing which will trace both
NFS client and server side activities.

  At the first step I need make sure that the trace hooks I defined
are appropriate and every trace hook probes the right places inside
the Kernel. So I will be appreciated if you could help me review the
following trace hooks.


Thanks

======================== NFS Client Side Trace Hooks =================

The following event hooks are used to trace nfs client activities.
These event hooks are divided into two groups.  Probe Point and
Description is given for each event hook.

Group1:
 It contains 15 event hooks, which are used to probe Client-side
NFS procedures.
---------------------------------------------------------------------
addevent.nfs.proc.read_setup
  Probe Point:
       nfs_proc_read_setup,nfs3_proc_read_setup, nfs4_proc_read_setup
  Description:
      Setup a rpc task to prepare for reading
---------------------------------------------------------------------
addevent.nfs.proc.read_done
  Probe Point:
      nfs_proc_read_done,nfs3_proc_read_done,
      nfs4_proc_read_done
  Description:
      Fires when receive a read reply from server,it is used to
      refresh the inode on client
---------------------------------------------------------------------
addevnet.nfs.proc.read
  Probe Point:
      nfs_proc_read,nfs3_proc_read,nfs4_proc_read
 Description:
      Send a read operation to server,and refresh local inode after
       receive reply from server
---------------------------------------------------------------------
addevent.nfs.proc.write_setup
  Probe Point:
      nfs_proc_write_setup,nfs3_proc_write_setup,nfs4_proc_write_setup
  Description:
---------------------------------------------------------------------
addevent.nfs.proc.write
  Probe Point:
      nfs_proc_write,nfs3_proc_write,nfs4_proc_write
  Description:
      Send a write operation to server
---------------------------------------------------------------------
addevent.nfs.proc.write_done
  Probe Point:
      nfs_write_done,nfs3_write_done,nfs4_write_done
  Description:
      Fires when receive a write reply from server,it is used to
      refresh the inode on client
---------------------------------------------------------------------
addevent.nfs.proc.open
  Probe Point:
      nfs_open
  Description:
      Allocate file read/write context information
---------------------------------------------------------------------
addevent.nfs.proc.release
  Probe Point:
      nfs_release
  Description:
      Release file read/write context information
---------------------------------------------------------------------
addevent.nfs.proc.create
  Probe Point:
      nfs_create
  Description:
      Create  a new file or dir on server
_____________________________________________________________________

Group2:
  This group includes the event hooks which probe NFS address space
operation related function.All the functions are common in NFSV2,
NFSV3,NFSV4.
---------------------------------------------------------------------
addevent.nfs.aops.readpage
  Probe Point:
    nfs_readpage
  Description :
    Read the page ,only fires when a previous async read operation
    failed
---------------------------------------------------------------------
addevent.nfs.aops.readpages
  Probe Point:
    nfs_readpages
  Description:
     Fires when in readahead way,read several pages once
---------------------------------------------------------------------
addevent.nfs.aops.writepage
  Probe Point:
     nfs_writepage
  Description:
     Write an mapped page to the server
---------------------------------------------------------------------
addevent.nfs.aops.writepages
  Probe Point:
     nfs_writepages
  Description:
     Write several dirty pages to the serve once
---------------------------------------------------------------------
addevent.nfs.aops.prepare_write
   Probe Point:
       prepare_write
   Description:
       Prepare a page for writing. Look for a request corresponding
       to the page. If there is one, and it belongs to another aops,
       we flush it out before we try to copy anything into the page.
       Also do the same if we find a request from an existing
       dropped page.
---------------------------------------------------------------------
addevent.nfs.aops.commit_write
  Probe Point:
      nfs_commit_write
  Description :
      Update and possibly write a cached page of an NFS aops
_____________________________________________________________________


====================== NFS Server Side Trace Hooks ==================

The following event hooks are used to traced nfs server activities.
The event hooks are divided into three group.

Group1:
  It contains one event hook,which probes nfsd_dispatch
---------------------------------------------------------------------
addevent.nfsd.dispatch
  Probe Point:
   nfsd_dispatch
  Description:
   Decode the arguments received from client,call the procedure
   handler,encode the result
______________________________________________________________________
Group2:
  It contains three event hooks.The functions probed will be called
  by related procedure handler. All the functions are common in NFSV2,
  NFSV3,NFSV4
---------------------------------------------------------------------
addevent.nfsd.read
  Probe Point:
    nfsd_read
  Description:
    It does the "real" work of read
---------------------------------------------------------------------
addevent.nfsd.write
  Probe Point:
    nfsd_write
 Description:
    It does the "real " work of write
---------------------------------------------------------------------
addevent.nfsd.open
  Probe Point:
    nfsd_open
  Description:
    Open an existing file or directory.
---------------------------------------------------------------------
addevent.nfsd.close
   Probe Point:
    nfsd_close
  Description:
    Close an existing file or directory
_____________________________________________________________________
Group3:
    It contains eight event hooks,which probe procedure handlers.
---------------------------------------------------------------------
addevent.nfsd.proc2.read
  Probe Point:
   nfsd_proc_read
  Description:
   Read data from file (NFSV2)
---------------------------------------------------------------------
addevent.nfsd.proc3.read
  Probe Point:
   nfsd3_proc_read
  Description:
   Read data from file (NFSV3)
---------------------------------------------------------------------
addevent.nfsd.proc4.read
  Probe Point:
    nfsd4_read
  Description:
    Check stateid and prepare for reading
---------------------------------------------------------------------
addevent.nfsd.proc2.write
  Probe Point:
   nfsd_proc_write
  Description:
   Write data to file (NFSV2)
---------------------------------------------------------------------
addevent.nfsd.pro3.write
  Probe Point:
   nfsd3_proc_write
  Description:
   Write data to file (NFSV3)
---------------------------------------------------------------------
addevent.nfsd.proc4.write
  Probe Point:
    nfsd4_write
  Description:
    Check stateid and write data to file
---------------------------------------------------------------------
addevent.nfsd.proc4.open
  Probe Point:
    nfsd4_open
  Description:
    Check stateid and open file
---------------------------------------------------------------------
addevent.nfsd.proc4.compound
  Probe Point:
   nfsd4_proc_compound
  Description:
   Call different procedures according to client request

[-- Attachment #1.2: Type: text/html, Size: 8593 bytes --]

[-- Attachment #2: Type: text/plain, Size: 348 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #3: Type: text/plain, Size: 140 bytes --]

_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2006-08-22 10:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-26  9:13 [ltc-perf] draft of nfs event hook Xue Peng Li
2006-07-26  9:13 ` Christoph Hellwig
2006-07-26 13:50 ` Chuck Lever
2006-07-28  3:35   ` Xue Peng Li
2006-07-27 13:57 ` Li Guanglei
2006-07-27 15:29   ` [NFS] " Chuck Lever
2006-07-27 17:01     ` Jose R. Santos
2006-07-27 22:47     ` Li Guanglei
     [not found]       ` <001301c6b1e8$bd7cf590$160b0a0a@ict25eacacc325>
2006-07-28  2:03         ` Li Guanglei
2006-08-11  1:57   ` Xue Peng Li
2006-08-16  8:56     ` Xue Peng Li
2006-08-22 10:08       ` Xue Peng Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.