Readdir rm -rf graphs

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(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

  • 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
  • V3 rm rf plus real.jpg
    • Using readdir plus removes large directories faster than using a simple readdir.

NFS v4

  • V4 rm rf noplus real.jpg
    • Kernels perform the same without readdir plus
  • V4 rm rf plus real.jpg
    • With readdir plus enabled, the kernels take about the same amount of time to remove the directory.

Sys

NFS v3

  • V3 rm rf noplus sys.jpg
    • The command takes about the same amount of kernel time for each tested kernel.
  • V3 rm rf plus sys.jpg
  • Using readdir plus decreases the kernel time needed to complete the command

NFS v4

  • V4 rm rf noplus sys.jpg
    • Tested kernels use about the same amount of kernel time to complete the command.
  • V4 rm rf plus sys.jpg
    • 2.6.36 kernels use less kernel time than 2.6.38 kernels.

RPC ops

NFS v3

  • V3 rm rf noplus rpc.jpg
    • The tested kernels use about the same number of RPC operations.
  • V3 rm rf plus rpc.jpg
    • Using readdir plus results in fewer RPC operations to remove the directory

NFS v4

  • V4 rm rf noplus rpc.jpg
    • All tested kernels issue the same number of RPC operations to remove directories
  • V4 rm rf plus rpc.jpg
    • All tested kernels issue almost the same number of RPC operations to remove directories
Personal tools