Readdir rm -rf graphs
From Linux NFS
(Difference between revisions)
(→NFS v4) |
|||
(5 intermediate revisions not shown) | |||
Line 10: | Line 10: | ||
=== NFS v3 === | === NFS v3 === | ||
* [[File:v3_rm_rf_noplus_real.jpg]] | * [[File:v3_rm_rf_noplus_real.jpg]] | ||
+ | ** Without readdir plus, an unmodified 2.6.38 kernel takes longer to remove a large directory than the other kernels | ||
* [[File:v3_rm_rf_plus_real.jpg]] | * [[File:v3_rm_rf_plus_real.jpg]] | ||
+ | ** Using readdir plus removes large directories faster than using a simple readdir. | ||
+ | |||
=== NFS v4 === | === NFS v4 === | ||
* [[File:v4_rm_rf_noplus_real.jpg]] | * [[File:v4_rm_rf_noplus_real.jpg]] | ||
+ | ** Kernels perform the same without readdir plus | ||
* [[File:v4_rm_rf_plus_real.jpg]] | * [[File:v4_rm_rf_plus_real.jpg]] | ||
+ | ** With readdir plus enabled, the kernels take about the same amount of time to remove the directory. | ||
== Sys == | == Sys == | ||
=== NFS v3 === | === NFS v3 === | ||
* [[File:v3_rm_rf_noplus_sys.jpg]] | * [[File:v3_rm_rf_noplus_sys.jpg]] | ||
+ | ** The command takes about the same amount of kernel time for each tested kernel. | ||
* [[File:v3_rm_rf_plus_sys.jpg]] | * [[File:v3_rm_rf_plus_sys.jpg]] | ||
+ | * Using readdir plus decreases the kernel time needed to complete the command | ||
+ | |||
=== NFS v4 === | === NFS v4 === | ||
* [[File:v4_rm_rf_noplus_sys.jpg]] | * [[File:v4_rm_rf_noplus_sys.jpg]] | ||
+ | ** Tested kernels use about the same amount of kernel time to complete the command. | ||
* [[File:v4_rm_rf_plus_sys.jpg]] | * [[File:v4_rm_rf_plus_sys.jpg]] | ||
+ | ** 2.6.36 kernels use less kernel time than 2.6.38 kernels. | ||
== RPC ops == | == RPC ops == | ||
=== NFS v3 === | === NFS v3 === | ||
* [[File:v3_rm_rf_noplus_rpc.jpg]] | * [[File:v3_rm_rf_noplus_rpc.jpg]] | ||
+ | ** The tested kernels use about the same number of RPC operations. | ||
* [[File:v3_rm_rf_plus_rpc.jpg]] | * [[File:v3_rm_rf_plus_rpc.jpg]] | ||
+ | ** Using readdir plus results in fewer RPC operations to remove the directory | ||
+ | |||
=== NFS v4 === | === NFS v4 === | ||
* [[File:v4_rm_rf_noplus_rpc.jpg]] | * [[File:v4_rm_rf_noplus_rpc.jpg]] | ||
+ | ** All tested kernels issue the same number of RPC operations to remove directories | ||
* [[File:v4_rm_rf_plus_rpc.jpg]] | * [[File:v4_rm_rf_plus_rpc.jpg]] | ||
+ | ** All tested kernels issue almost the same number of RPC operations to remove directories |
Latest revision as of 18:42, 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
-
- Without readdir plus, an unmodified 2.6.38 kernel takes longer to remove a large directory than the other kernels
-
- Using readdir plus removes large directories faster than using a simple readdir.
NFS v4
-
- Kernels perform the same without readdir plus
-
- With readdir plus enabled, the kernels take about the same amount of time to remove the directory.
Sys
NFS v3
-
- The command takes about the same amount of kernel time for each tested kernel.
- Using readdir plus decreases the kernel time needed to complete the command
NFS v4
-
- Tested kernels use about the same amount of kernel time to complete the command.
-
- 2.6.36 kernels use less kernel time than 2.6.38 kernels.
RPC ops
NFS v3
-
- The tested kernels use about the same number of RPC operations.
-
- Using readdir plus results in fewer RPC operations to remove the directory