Metadata writeback cache support
(LU-10938)
|
|
| Status: | In Progress |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Technical task | Priority: | Minor |
| Reporter: | Qian Yingjin | Assignee: | Qian Yingjin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
To meet different requirements, we design three flush modes for WBC:
This cache mode comes from the following requirements:
WBC_FLUSH_AGE_LOCK_HOLD should be the default flush mode for WBC. It means that when flushing directories or files under the root WBC directory due to cache aged, it does not need to revoke the root WBC EX lock, acquire WBC EX lock back on its children directories level by level; The files or directories under the root WBC directory can directly flush to MDT (marked with Sync(S) state); Before the root WBC EX lock is revoked, nearly all operations for the files or directories under the root WBC directory can be executed locally such as open()/close(), getattr(), setattr(), readdir(), read(), write(). Or we can do unlink on a already removed directory under the root WBC directory as LU-13044:WBC: remove the whole subtree on MDT already deleted in the client WBC cache |
| Comments |
| Comment by Andreas Dilger [ 04/Dec/19 ] |
|
I would think that WBC_FLUSH_LAZY is very unlikely to be used with Lustre. If the application knows that it will create and unlink a whole directory subtree during the job run, and this client is the only one using the subtree, then there is little benefit to putting the files in a shared filesystem. It could instead use tmpfs directly and save the overhead? |
| Comment by Qian Yingjin [ 05/Dec/19 ] |
|
agree. However, WBC_FLUSH_LAZY is origin from the base patches of Oleg. Three flush modes are derived from the same origin. It would better to implement them step by step. And moreover, we may want to compare the performance between WBC with the lazy mode and tmpfs when there is no limits on the memory usage for improvement WBC. Aged flushing may have some impact on the comparison. |
| Comment by Gerrit Updater [ 03/Jan/20 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/37137 |
| Comment by Gerrit Updater [ 05/Jan/20 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/37142 |