Readdir ls -lU graphs

From Linux NFS

Revision as of 19:22, 7 April 2011 by Amschuma (Talk | contribs)
Jump to: navigation, search
    36: Linux 2.6.36
36NORC: Linux 2.6.36 (without readdir cap)
    38: Linux 2.6.38
  38RC: Linux 2.6.38 (with readdir cap added back)
  38NB: Linux 2.6.38 (with Neil Brown's patch and loop detection)

Contents

Real

NFS v3

  • V3 ls lU noplus real.jpg
    • 2.6.36 kernels take longer than 2.6.38 kernels.
  • V3 ls lU plus real.jpg
    • Falling back to readdir operations for large directories makes this command take longer. Removing the readdir plus cap from 2.6.36 improves performance, but doesn't match 2.6.38 kernels. Adding a readdir plus cap to 2.6.38 doubles the time needed for this command to complete.

NFS v4

  • V4 ls lU noplus real.jpg
    • 2.6.36 kernels seem to take more time than 2.6.38 kernels.
  • V4 ls lU plus real.jpg
    • Using readdir plus on large directories helps the command finish faster.

Sys

NFS v3

  • V3 ls lU noplus sys.jpg
  • V3 ls lU plus sys.jpg

NFS v4

  • V4 ls lU noplus sys.jpg
  • V4 ls lU plus sys.jpg
    • Using readdir plus on 2.6.38 kernels decreases time spent in the kernel

RPC ops

NFS v3

  • V3 ls lU noplus rpc.jpg
    • Kernels issue the same number of RPC operations in this case
  • V3 ls lU plus rpc.jpg
    • Falling back to readdir on large directories can lead to thousands of extra RPC operations

NFS v4

  • V4 ls lU noplus rpc.jpg
  • V4 ls lU plus rpc.jpg
    • Using readdir plus results in fewer RPC operations
Personal tools