DAOS-11605 common: ad-hoc allocator for umem
Main data structures:
-
ad_blob Represent the Metadata blob, all the space allocations happen with the logic address space of this blob.
-
ad_arena An ad_blob is divided into 16MB pages, an arena represents a 16MB page and manage all the allocatino metadata for this page.
-
ad_group A group is a set objects with the same size, a arena can have many groups with different sizes.
supported API
- create/open/close a blob
- reserve
- tx_publish/cancel
- tx_begin/end
status:
- passed the simplest test
- need a lot more tests and review
Signed-off-by: Liang Zhen [email protected]
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/145/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/355/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/332/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/325/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/329/log
Bug-tracker data: Ticket title is 'Implement new alternative umem allocator from scratch' Status is 'In Progress' Labels: 'md_on_ssd' Job should run at elevated priority (3) https://daosio.atlassian.net/browse/DAOS-11605
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/1/execution/node/369/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/145/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/369/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/301/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/298/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/341/log
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/2/execution/node/367/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/3/execution/node/174/log
Test stage Fault injection testing on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/3/execution/node/842/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/4/execution/node/145/log
Test stage Fault injection testing on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/4/execution/node/832/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/5/execution/node/145/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/6/execution/node/145/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/7/execution/node/146/log
Sorry I force pushed for a few times, just want to keep the history clean before the first version that is ready for review. Now I think it's ready for review, although it can only pass the simplest test, but at least the code is in reasonable shape.
Test stage Fault injection testing on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/9/execution/node/826/log
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/11/execution/node/145/log
Test stage Functional on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10451/11/execution/node/851/log