mds: optimization for large number of clients/opened files#43126
mds: optimization for large number of clients/opened files#43126
Conversation
e04f25f to
c16897a
Compare
Signed-off-by: "Yan, Zheng" <yanzheng03@kuaishou.com>
Signed-off-by: "Yan, Zheng" <yanzheng03@kuaishou.com>
Signed-off-by: "Yan, Zheng" <yanzheng03@kuaishou.com>
Signed-off-by: "Yan, Zheng" <yanzheng03@kuaishou.com>
Signed-off-by: "Yan, Zheng" <yanzheng03@kuaishou.com>
c16897a to
88954de
Compare
| elist<Capability*>::item item_snaprealm_caps; | ||
| elist<Capability*>::item item_revoking_caps; | ||
| elist<Capability*>::item item_client_revoking_caps; |
There was a problem hiding this comment.
What is so memory consuming in xlist<> over elist<> ?
| auto em = client_leases.emplace(std::piecewise_construct, | ||
| std::forward_as_tuple(client), | ||
| std::forward_as_tuple(this, session)); | ||
| ClientLease *l = &em.first->second; | ||
| if (em.second) { |
There was a problem hiding this comment.
can we use C++ Structured Binding to name the items returned by client_leases.emplace(...) rather than using .first and .second
There was a problem hiding this comment.
Structured Bindings helps give friendly names to data items and further helps is maintaining continuity when reading and reviewing code instead of flipping back and forth to decipher what .first and .second is.
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
|
@ukernel if you're willing, I'd like to see some of the changes merged. Can you rebase and split
into a separate PR. Those are particularly straight-forward. Very sorry for letting this sit on the back-burner so long. |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
the most valuable patch of this PR is "mds: optimize get_caps_{wanted,issued}() for large amount of caps". For the first two patches, you can ask some new guy to pick them up, and create a new PR |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox