Skip to content

os/bluestore: fix AU accounting in bluestore_cache_other mempool.#46911

Merged
ifed01 merged 2 commits intoceph:mainfrom
ifed01:wip-ifed-fix-mempool-cache-other
Jul 18, 2022
Merged

os/bluestore: fix AU accounting in bluestore_cache_other mempool.#46911
ifed01 merged 2 commits intoceph:mainfrom
ifed01:wip-ifed-fix-mempool-cache-other

Conversation

@ifed01
Copy link
Contributor

@ifed01 ifed01 commented Jun 30, 2022

Fixes: https://tracker.ceph.com/issues/56424

Signed-off-by: Igor Fedotov igor.fedotov@croit.io

Contribution Guidelines

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows

@ifed01 ifed01 requested a review from aclamk June 30, 2022 13:37
@ifed01 ifed01 requested a review from a team as a code owner June 30, 2022 13:37
@ifed01 ifed01 force-pushed the wip-ifed-fix-mempool-cache-other branch from 9580b0f to 3e07dd1 Compare June 30, 2022 13:47
Copy link
Contributor

@aclamk aclamk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good fix on inconsistent mempool tracking.

mempool::get_pool(
mempool::pool_index_t(mempool::mempool_bluestore_cache_other)).
adjust_count(1, sizeof(uint32_t) * num_au);
adjust_count(alloc_au, sizeof(uint32_t) * alloc_au);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we here add 1 object size 4*alloc_au to mempool.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just modified this a bit so each entry is treated as an object. The original plan was to be able to shrink this array if needed and hence adjust object count as well. But finally I've redesigned this stuff a bit differently.

// == 0 if single unit or the whole blob is tracked
uint32_t au_size; // Allocation (=tracking) unit size,
// == 0 if uninitialized
uint32_t num_au; // Amount of allocation units tracked
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to save some mem space by change num_au and alloc_au to uint16_t ?
Is 24->16 bytes worth it ?

ifed01 added 2 commits July 1, 2022 15:55
…e_blob_use_tracker_t

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
@ifed01 ifed01 force-pushed the wip-ifed-fix-mempool-cache-other branch from 3e07dd1 to cf5c545 Compare July 1, 2022 13:42
@github-actions github-actions bot added the tests label Jul 1, 2022
@ifed01 ifed01 added the needs-qa label Jul 1, 2022
@NitzanMordhai
Copy link
Contributor

https://pulpito.ceph.com/yuriw-2022-07-09_14:48:58-rados-wip-yuri6-testing-2022-07-07-1429-distro-default-smithi/

Failures, unrelated:
6921591 - https://tracker.ceph.com/issues/52321
6921593 - https://tracker.ceph.com/issues/52321
6921594 - https://tracker.ceph.com/issues/55789
6921595 - https://tracker.ceph.com/issues/52321
6921596 - https://tracker.ceph.com/issues/52321
6921597 - https://tracker.ceph.com/issues/55789

Details:
6921591\6921593\6921595\6921596 - qa/tasks/rook times out: 'check osd count' reached maximum tries (90) after waiting for 900 seconds - Ceph - Rook
6921594\6921597 - cls_rgw.index_suggest_complete assert failuer during test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants