[LU-5108] osc: Performance tune for LRU Created: 27/May/14  Updated: 09/Feb/17  Resolved: 18/Aug/15

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

Type: Improvement Priority: Major
Reporter: Jinshan Xiong (Inactive) Assignee: Jinshan Xiong (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-7951 NULL pointer dereference in vvp_io_wr... Open
is related to LU-5260 Null pointer dereference in ll_cl_find Resolved
is related to LU-6643 write hang up with small max_cached_mb Resolved
is related to LU-5291 Failure to clear ft_flags leads to mm... Resolved
Rank (Obsolete): 14093

 Description   

To remember my recent work on performance tune



 Comments   
Comment by Jinshan Xiong (Inactive) [ 27/May/14 ]

patch is at: http://review.whamcloud.com/10458

Comment by Jinshan Xiong (Inactive) [ 29/May/14 ]

patch http://review.whamcloud.com/10503 to add a per open file cache is spun off from the above patch.

Comment by Jinshan Xiong (Inactive) [ 29/May/14 ]

Several further things we can work on to reduce CPU usage on the client side.
1. cl_req - it maintains an inflight pages list which is not needed;
2. dirty grant - the interface is still page oriented, now that we can commit pages in batch, see osc_io_commit_async, we should work out new interfaces to reserve and release grant multiple pages based;
3. operations in cl_page - some operations can be provided in callback, for example, make_ready, prep, own and disown, etc, because they are VFS functionalities and LOV and OSC layer can't do anything for it. This way it can avoid looping page layers;
4. two many lists in oap - the side effect is that it has to loop the pages to move them between lists, also it consumes extra per-page memory. This can be avoided if we can reuse the same list entry for different purpose. For example, oap_

{pending, leu}

_item and ops_lru can share the same list because busy pages should not be in LRU list.

Comment by Peter Jones [ 30/May/14 ]

Bobijam

Could you please assist with this issue?

Thanks

Peter

Comment by Jinshan Xiong (Inactive) [ 12/Jun/14 ]

Set patch to blocker so that patch 10458 and 10503 can be landed in 2.6

Comment by Christopher Morrone [ 13/Jun/14 ]

Jinshan, I think you are doing great work here! I am impressed with the results.

However, Lustre is currently in code freeze, and Lustre 2.6.0 is already overdue. This is not the time to be landing new performance improvements. Especially for CLIO problems that, I assume, have been with us for years now. And ones that add new kernel threads.

Furthermore, unless this was a very recent and very significant performance regression that really needs to block the 2.6.0 release, marking this ticket as a "blocker" is an abuse of process.

So again, great work here. But I this should wait to land on master until after we have created the b2_6 branch.

Comment by Peter Jones [ 13/Jun/14 ]

Chris

We had already marked this as FixVersion 2.7

Peter

Comment by Christopher Morrone [ 13/Jun/14 ]

Sure, but priority is still at the Blocker setting, which does not seem appropriate. And one of the other patches from this ticket landed only yesterday. In the absence of a comment (since the only comment we see is one requesting landing for 2.6), your intent was not particularly clear to those of us on the outside.

Comment by Peter Jones [ 13/Jun/14 ]

ok. I have dropped the priority

Comment by Peter Jones [ 14/Jun/14 ]

Your edit to the comment interleaved with my last comment. Yes you are right that a comment would have been more clear given the above comment. The intention is to track this work for 2.7. The patch that landed yesterday was quite minor and was considered low risk. Until code freeze is in effect there are other low risk changes still landing.

Comment by Gerrit Updater [ 18/Aug/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/10458/
Subject: LU-5108 osc: Performance tune for LRU
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b117bc837c02e2d156bb114142a28a184aa9d633

Comment by Peter Jones [ 18/Aug/15 ]

Landed for 2.8

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