Readdir ls -lU graphs
From Linux NFS
(Difference between revisions)
(Created page with '<pre> 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 Brow…') |
(→NFS v3) |
||
(8 intermediate revisions not shown) | |||
Line 8: | Line 8: | ||
== Real == | == Real == | ||
+ | === NFS v3 === | ||
+ | * [[File:v3_ls_lU_noplus_real.jpg]] | ||
+ | ** 2.6.36 kernels take longer than 2.6.38 kernels. | ||
+ | * [[File: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 === | ||
+ | * [[File:v4_ls_lU_noplus_real.jpg]] | ||
+ | ** 2.6.36 kernels seem to take more time than 2.6.38 kernels. | ||
+ | * [[File:v4_ls_lU_plus_real.jpg]] | ||
+ | ** Using readdir plus on large directories helps the command finish faster. | ||
+ | |||
== Sys == | == Sys == | ||
+ | === NFS v3 === | ||
+ | * [[File:v3_ls_lU_noplus_sys.jpg]] | ||
+ | * [[File:v3_ls_lU_plus_sys.jpg]] | ||
+ | ** Using readdir plus reduces the kernel time needed for the command to complete | ||
+ | |||
+ | === NFS v4 === | ||
+ | * [[File:v4_ls_lU_noplus_sys.jpg]] | ||
+ | * [[File:v4_ls_lU_plus_sys.jpg]] | ||
+ | ** Using readdir plus on 2.6.38 kernels decreases time spent in the kernel | ||
+ | |||
== RPC ops == | == RPC ops == | ||
+ | === NFS v3 === | ||
+ | * [[File:v3_ls_lU_noplus_rpc.jpg]] | ||
+ | ** Kernels issue the same number of RPC operations in this case | ||
+ | * [[File:v3_ls_lU_plus_rpc.jpg]] | ||
+ | ** Falling back to readdir on large directories can lead to thousands of extra RPC operations | ||
+ | |||
+ | === NFS v4 === | ||
+ | * [[File:v4_ls_lU_noplus_rpc.jpg]] | ||
+ | * [[File:v4_ls_lU_plus_rpc.jpg]] | ||
+ | ** Using readdir plus results in fewer RPC operations |
Latest revision as of 19:25, 7 April 2011
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
-
- 2.6.36 kernels take longer than 2.6.38 kernels.
-
- 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
-
- 2.6.36 kernels seem to take more time than 2.6.38 kernels.
-
- Using readdir plus on large directories helps the command finish faster.
Sys
NFS v3
NFS v4
RPC ops
NFS v3
-
- Kernels issue the same number of RPC operations in this case
-
- Falling back to readdir on large directories can lead to thousands of extra RPC operations