[LU-13970] add an option to disable inode cache on Lustre client Created: 18/Sep/20 Updated: 25/Jan/24 Resolved: 11/Jun/22 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.16.0 |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Lai Siyao | Assignee: | Lai Siyao |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||||||||||||||
| Description |
|
By default inode is cached on Lustre client, to avoid OOM, an option like llite.*.inode_cache can be added, when it's turned off, inode is immediately released on last iput(). |
| Comments |
| Comment by Gerrit Updater [ 18/Sep/20 ] |
|
Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39973 |
| Comment by Andreas Dilger [ 24/Apr/21 ] |
|
I think this is only a temporary workaround for the real problem, so this issue should not be considered fixed. There needs to be something done at the VFS and/or slab level to free inodes from cache under memory pressure, rather than disabling the inode cache completely. My understanding is that the client does "OK" with releasing regular files from cache, but the problem is directory-intensive workloads like "ls -lR" or "find" will leave all directories stuck in cache. Something needs to be done to free those inodes (and their parents) when the last child is released, rather than leaving them stuck in cache. This might also be helped by the inode slab shrinker doing a better job of releasing the directory inodes. |
| Comment by Gerrit Updater [ 11/Jun/22 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/39973/ |
| Comment by Peter Jones [ 11/Jun/22 ] |
|
Landed for 2.16 |