[LU-9716] osc_extent_tree_dump0() implementation is suboptimal Created: 28/Jun/17  Updated: 07/Aug/17  Resolved: 19/Jul/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.9.0
Fix Version/s: Lustre 2.10.1, Lustre 2.11.0

Type: Improvement Priority: Minor
Reporter: Andrew Perepechko Assignee: WC Triage
Resolution: Fixed Votes: 0
Labels: patch

Issue Links:
Related
Rank (Obsolete): 9223372036854775807

 Description   

Under ior -z -t 4K testing, osc_extent_tree_dump0() consumes a lot of cpu time even though lnet.debug is set to 0:

  Function                               Hit    Time            Avg
  --------                               ---    ----            ---
  intel_idle                         1644076 8717472093.00 us    1324531.36 us
  osc_extent_tree_dump0               786432 108012187.77 us    2164.31 us
  _raw_spin_lock                    96688599 19305632.41 us    7.68 us
  cfs_hash_lookup                   17322271 8030727.84 us    12.54 us
  cfs_hash_bd_lookup_intent         28342837 6303058.76 us    5.61 us
  cfs_hash_bd_from_key              40155989 5162903.57 us    3.64 us
  cfs_hash_del                       9444486 5020069.68 us    7.31 us
  __schedule                         3522583 4985703.95 us    52.08 us
  cfs_hash_multi_bd_lock            36211243 4896623.17 us    3.05 us
  cl_env_get                         7869193 4469177.22 us    7.94 us
  cfs_hash_dual_bd_get              36211243 4419357.38 us    3.13 us
  __wake_up                          9527651 4181541.86 us    13.29 us
  cfs_hash_find_or_add               9444481 3929948.37 us    4.51 us
  _raw_spin_unlock                  96808225 3340468.42 us    1.08 us
  lu_context_key_get                95182604 3278555.77 us    0.74 us
  osc_extent_sanity_check0          10911904 3073224.76 us    5.72 us
  class_handle2object                7867641 2929678.43 us    10.08 us
  osc_extent_find                     786432 2889266.79 us    47.64 us
  cl_env_put                         9442060 2784024.38 us    3.33 us
  crc32_pclmul_le                     786432 2532550.33 us    58.90 us
  ll_file_io_generic                 1572863 2263669.56 us    16.85 us
  cfs_hash_bd_del_locked             9444488 2168097.28 us    2.55 us
  cfs_hash_bd_add_locked             9444494 2168096.22 us    2.50 us
  osc_extent_make_ready               756063 2165577.28 us    52.26 us
  cfs_hash_multi_bd_findadd_lock     9444481 2139335.37 us    2.51 us
  ptlrpcd_check                      4249981 2132451.44 us    15.62 us

A trivial optimization will be uploaded shorty.



 Comments   
Comment by Gerrit Updater [ 28/Jun/17 ]

Andrew Perepechko (andrew.perepechko@seagate.com) uploaded a new patch: https://review.whamcloud.com/27866
Subject: LU-9716 osc: osc_extent_tree_dump0() implementation is suboptiomal
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d978a6a60dbbaa866b65f9773dc8a866eb967317

Comment by Gerrit Updater [ 19/Jul/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27866/
Subject: LU-9716 osc: osc_extent_tree_dump0() implementation is suboptimal
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 97115ccd159e4503ca16cb7f68ee7479c780f1cf

Comment by Peter Jones [ 19/Jul/17 ]

Landed for 2.11

Comment by Gerrit Updater [ 26/Jul/17 ]

Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/28235
Subject: LU-9716 osc: osc_extent_tree_dump0() implementation is suboptimal
Project: fs/lustre-release
Branch: b2_10
Current Patch Set: 1
Commit: 855372e1036156fe988750378ec020fae94baeb4

Comment by Gerrit Updater [ 07/Aug/17 ]

John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28235/
Subject: LU-9716 osc: osc_extent_tree_dump0() implementation is suboptimal
Project: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: fcaff5d7cc2cd4d6fecbf641b8a3ce4f09490e3d

Generated at Sat Feb 10 02:28:36 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.