[LU-11924] Combine cancellation of llog records at osp_sync_process_committed Created: 05/Feb/19  Updated: 12/Dec/22  Resolved: 19/Feb/19

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.13.0

Type: Improvement Priority: Minor
Reporter: Alexander Boyko Assignee: Alexander Boyko
Resolution: Fixed Votes: 0
Labels: patch

Issue Links:
Duplicate
Gantt End to Start
Related
is related to LU-11896 Memory leak occurs when lfs mkdir fails Resolved
Rank (Obsolete): 9223372036854775807

 Description   

osp_sync_process_committed() takes list of osp_job_req_args and cancels llog records one by one. In most cases these records belongs to the same llog file, so they can be canceled together at single call to open/transaction/changing bitmap/disk write...
It could increase a performance.



 Comments   
Comment by Gerrit Updater [ 05/Feb/19 ]

Alexandr Boyko (c17825@cray.com) uploaded a new patch: https://review.whamcloud.com/34179
Subject: LU-11924 osp: combine llog cancel operations
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 1c827535c555683fd6237c8750e0c15a20dcadf2

Comment by Alexander Boyko [ 05/Feb/19 ]

I've tested the difference of osp_sync_process_commit time locally  with ftrace using test 106 conf-sanity which do createmany/unlinkmany operations. 

echo osp_sync_process_committed > set_ftrace_filter
echo 1 > function_profile_enabled

Without patch

  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed          119433    320932.0 us     2.687 us        46349.58 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed          113400    289397.6 us     2.552 us        44790.63 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed          106545    447368.3 us     4.198 us        102860.1 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed           65637    235872.5 us     3.593 us        61195.10 us

And with patch

Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed           98916    143369.9 us     1.449 us        28541.24 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed          103008    214585.1 us     2.083 us        26861.06 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed           88466    145561.5 us     1.645 us        11074.07 us
  Function                               Hit    Time            Avg             s^2
  --------                               ---    ----            ---             ---
  osp_sync_process_committed           81857    85347.70 us     1.042 us        11470.52 us

The testing shows that average time is less for the patched version.

 

Comment by Gerrit Updater [ 18/Feb/19 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/34179/
Subject: LU-11924 osp: combine llog cancel operations
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 6d733210206561f73b5c29126b4012cd7a8c0d18

Comment by Peter Jones [ 19/Feb/19 ]

Landed for 2.13

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