[LU-12185] Do not allow setting max_cached_mb too low Created: 12/Apr/19  Updated: 29/Oct/19

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Patrick Farrell (Inactive) Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

If max_cached_mb is set extremely low, it seems to be possible to get deadlocks because the entire OSC LRU is tied up in requests which cannot even finish starting, so no requests are issued.  A little code examination and consideration will be required to determine the exact lower limit required.

Andreas sketched the issue and general idea of the solution elsewhere:

"...we definitely should not allow max_cached_mb < N * max_dirty_mb, where N is a multiplier to handle multiple OSC caches. Otherwise, with a mixed read/write workload it may be that there are partially-formed write RPCs that are blocked waiting for free cache pages, but those pages are pinned by read pages? Alternately, we might want to consider to always allow a read or write RPC to be filled even if it exceeds the cache or dirty limits, to avoid deadlocks."


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