Readdir ls -U graphs

From Linux NFS

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 U noplus real.jpg
  • V3 ls U plus real.jpg
    • In this case, using readdir plus increases the time required for the command to complete.

NFS v4

  • V4 ls U noplus real.jpg
  • V4 ls U plus real.jpg

Sys

NFS v3

  • V3 ls U noplus sys.jpg
  • V3 ls U plus sys.jpg
    • Using readdir plus causes the command to spend more time in the kernel

NFS v4

  • V4 ls U noplus sys.jpg
  • V4 ls U plus sys.jpg

RPC ops

NFS v3

  • V3 ls U noplus rpc.jpg
    • 2.6.36 uses fewer RPC operations than 2.6.38
  • V3 ls U plus rpc.jpg
    • Kernels using readdir for large directories issue fewer RPC operations than kernels using readdir plus

NFS v4

  • V4 ls U noplus rpc.jpg
    • 2.6.36 kernels issue fewer RPC operations than 2.6.38 kernels
  • V4 ls U plus rpc.jpg
    • 2.6.36 kernels issue fewer RPC operations than 2.6.38 kernels. 2.6.38 kernels that do a readdir for larger directories issue fewer RPC operations than a 2.6.38 kernel that always does a readdir plus.
Personal tools