Readdir performance results
From Linux NFS
Graphical comparison of commands
- Readdir NFSv3 No Readdir Plus
- Readdir NFSv3 With Readdir Plus
- Readdir NFSv4 No Readdir Plus
- Readdir NFSv4 With Readdir Plus
About the server
- Lenovo thinkpad T400
- 3GB Ram
- Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
- Linux 2.6.37-ARCH
- Export: /nfs 192.168.122.0/255.255.255.0(rw,fsid=0,no_subtree_check,async,no_root_squash,crossmnt,nohide)
About the kernels / shortcodes
- Kernels were compiled off of the master branch of Linus' git tree (git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git)
- 2.6.36 Kernels (Checked out from the tag "v2.6.36")
- 36: This kernel has not been modified at all. It was compiled right after checking out "v2.6.36"
- 36NORC: This kernel has the readdir plus cap for large directories removed
- 2.6.38 Kernels (Checked out from the tag "v2.6.38")
- 38: This kernel has not been modified at all. It was compiled right after checking out "v2.6.38"
- 38RC: This kernel has re-added the readdir plus cap for large directories
- 38NB: This kernel features a more selective readdir operation. It issues a readdir plus call, and if the extra attributes are used then it will keep issuing readdir plus calls. If the attributes go unused, it will switch over to using a readdir call. This kernel also features loop detection for readdir cookies, a problem that only hit very large directories.