[LU-11347] Do not use pagecache for SSD I/O when read/write cache are disabled Created: 06/Sep/18  Updated: 15/Jun/20  Resolved: 13/Oct/18

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

Type: Improvement Priority: Major
Reporter: Joseph Gmitter (Inactive) Assignee: Alex Zhuravlev
Resolution: Fixed Votes: 0
Labels: perf_optimization

Attachments: File ost_io.svg    
Issue Links:
Related
is related to LU-5375 Failure on test suite sanity test_151... Resolved
is related to LU-13680 large allocations in osd_bufs_get() f... Resolved
is related to LU-12179 allocate continuous pages when disabl... Open
is related to LU-9252 osd: Cannot really disable cache on OSS Resolved
is related to LU-11164 lvbo_*() methods to reuse env Resolved
is related to LU-12071 bypass pagecache for large files Resolved
Rank (Obsolete): 9223372036854775807

 Description   

For SSD optimization, disable pagecache for IO when:

  • non-rotational storage is used
  • when both read and write caches are disabled


 Comments   
Comment by Joseph Gmitter (Inactive) [ 06/Sep/18 ]

test only patch is at https://review.whamcloud.com/#/c/32875/

 

Comment by Andreas Dilger [ 25/Sep/18 ]

Attached flame graph ( ost_io.svg ) shows find_or_create_page() using 4.25% of CPU under heavy random read workload (using fake IO to avoid storage overhead)..

Comment by Gerrit Updater [ 12/Oct/18 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32875/
Subject: LU-11347 osd: do not use pagecache for I/O
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 72372486a5e96dd2078e01a697025da41bbf03c2

Comment by Peter Jones [ 13/Oct/18 ]

Landed for 2.12

Comment by Lukasz Flis [ 15/May/19 ]

Alex, Andreas:
According to LU-9252 this patch is needed to disable osd cache.

Would it be possible to have it ported to b2_10?

Comment by Peter Jones [ 15/May/19 ]

It would be possible to do this but we have no plans to do this at this time

Comment by Lukasz Flis [ 15/May/19 ]

I think it would be beneficial in some cases.
In 2.10.7 and mixed workload cluster - profiling of ost_io threads shows that we spend 35% of the thread time in find_or_create_page and kswapd0 being hyperactive (swap is off)

+   34.99%     0.35%             7  ll_ost_io01_034  [kernel.vmlinux]  [k] find_or_create_page                                                                     

I have already backported the patch - if it's possible to submit it for autotesting it would be great

 

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