15 May, 2010

1 commit

  • Clean up:

    fs/nfs/iostat.h: In function ‘nfs_add_server_stats’:
    fs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions
    fs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions
    fs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions
    fs/nfs/iostat.h:41: warning: comparison between signed and unsigned integer expressions

    Commit fce22848 replaced the open-coded per-cpu logic in several
    functions in fs/nfs/iostat.h with a single invocation of
    this_cpu_ptr(). This macro assumes its second argument is signed,
    not unsigned.

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever
     

17 Feb, 2010

1 commit

  • Add __percpu sparse annotations to fs.

    These annotations are to make sparse consider percpu variables to be
    in a different address space and warn if accessed without going
    through percpu accessors. This patch doesn't affect normal builds.

    Signed-off-by: Tejun Heo
    Cc: "Theodore Ts'o"
    Cc: Trond Myklebust
    Cc: Alex Elder
    Cc: Christoph Hellwig
    Cc: Alexander Viro

    Tejun Heo
     

03 Oct, 2009

1 commit


17 Jun, 2009

1 commit

  • put_cpu_no_resched() is an optimization of put_cpu() which unfortunately
    can cause high latencies.

    The nfs iostats code uses put_cpu_no_resched() in a code sequence where a
    reschedule request caused by an interrupt between the get_cpu() and the
    put_cpu_no_resched() can delay the reschedule for at least HZ.

    The other users of put_cpu_no_resched() optimize correctly in interrupt
    code, but there is no real harm in using the put_cpu() function which is
    an alias for preempt_enable(). The extra check of the preemmpt count is
    not as critical as the potential source of missing a reschedule.

    Debugged in the preempt-rt tree and verified in mainline.

    Impact: remove a high latency source

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Cc: Tony Luck
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

03 Apr, 2009

1 commit

  • Add some new NFS I/O counters for FS-Cache doing things for NFS. A new line is
    emitted into /proc/pid/mountstats if caching is enabled that looks like:

    fsc:

    Where is the number of pages read successfully from the cache, is
    the number of failed page reads against the cache, is the number of
    successful page writes to the cache, is the number of failed page writes
    to the cache, and is the number of NFS pages that have been disconnected
    from the cache.

    Signed-off-by: David Howells
    Acked-by: Steve Dickson
    Acked-by: Trond Myklebust
    Acked-by: Al Viro
    Tested-by: Daire Byrne

    David Howells
     

10 Jul, 2008

2 commits

  • We're not modifying the nfs_server when we call nfs_inc_server_stats and
    friends, so allow the compiler to pass 'const' pointers too.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • The fs/nfs/iostat.h header has definitions that were designed to be exposed
    to user space. Move these definitions under include/linux so user space can
    use the definitions in applications that read /proc/self/mountstats.

    Also address a handful of coding style issues called out by checkpatch.pl in
    fs/nfs/iostat.h.

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever
     

21 Mar, 2006

3 commits

  • The mount statistics patches introduced a call to nfs_free_iostats that is
    not only redundant, but actually causes an oops.

    Also fix a memory leak due to the lack of a call to nfs_free_iostats on
    unmount.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Make an inode or an nfs_server struct available in the logic that handles
    JUKEBOX/DELAY type errors so the NFS client can account for them.

    This patch is split out from the main nfs iostat patch to highlight minor
    architectural changes required to support this statistic.

    Test plan:
    None.

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever
     
  • Add a per-superblock performance counter facility to the NFS client. This
    facility mimics the counters available for block devices and for
    networking. Expose these new counters via the new /proc/self/mountstats
    interface.

    Thanks to Andrew Morton and Trond Myklebust for their review and comments.

    Test plan:
    fsx and iozone on UP and SMP systems, with and without pre-emption. Watch
    for memory overwrite bugs, and performance loss (significantly more CPU
    required per op).

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever