Conversation
|
Ticket title is 'Enhance dav v2 alloc from bucket APIs to accept the multiple E buckets' |
Collaborator
|
Test stage Unit Test bdev completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-19093/1/testReport/ |
… E-buckets
Rework the umem alloc-from-bucket APIs to accept a struct of type
umem_bucket_req instead of a single bucket id, so an allocation can describe
an ordered set of evictable (E) buckets.
- Add umem_bucket_req_t { ubr_bkt_ids, ubr_bkt_cnt, ubr_bkt_max } and
change umem_{alloc,zalloc,reserve,atomic_alloc}_from_bucket() and the
backend ops (mo_tx_alloc/mo_reserve/mo_atomic_alloc) to take a
umem_bucket_req_t * (NULL == default/non-evictable bucket).
- palloc_reservation_create now allocates by walking the requested
evictable buckets in priority order, then the spill-over evictable
(SOE) buckets, and finally the non-evictable bucket.
- TEMP FIX: ubr_bkt_max == 0 permits unbounded spill-over to SOE buckets,
preserving the legacy single-bucket behavior; the vos callers request
ubr_bkt_cnt = 1, ubr_bkt_max = 0. Unbounded SOE spill-over will be
removed in a future change.
- Update umem/vos callers and add a unit test (BMEM017a) covering
spill-over across two requested buckets.
Allow-unstable-test: true
Signed-off-by: Sherin T George <sherin-t.george@hpe.com>
sherintg
force-pushed
the
sherintg/mdonssd_p2_improve/DAOS-19645
branch
from
September 17, 2026 05:17
22fb6d6 to
7454b41
Compare
sherintg
marked this pull request as ready for review
September 17, 2026 06:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… E-buckets
Rework the umem alloc-from-bucket APIs to accept a struct of type umem_bucket_req instead of a single bucket id, so an allocation can describe an ordered set of evictable (E) buckets.
Add umem_bucket_req_t { ubr_bkt_ids, ubr_bkt_cnt, ubr_bkt_max } and change umem_{alloc,zalloc,reserve,atomic_alloc}_from_bucket() and the backend ops (mo_tx_alloc/mo_reserve/mo_atomic_alloc) to take a umem_bucket_req_t * (NULL == default/non-evictable bucket).
palloc_reservation_create now allocates by walking the requested evictable buckets in priority order, then the spill-over evictable (SOE) buckets, and finally the non-evictable bucket.
TEMP FIX: ubr_bkt_max == 0 permits unbounded spill-over to SOE buckets, preserving the legacy single-bucket behavior; the vos callers request ubr_bkt_cnt = 1, ubr_bkt_max = 0. Unbounded SOE spill-over will be removed in a future change.
Update umem/vos callers and add a unit test (BMEM017a) covering spill-over across two requested buckets.
Steps for the author:
After all prior steps are complete: