vmware / splinterdb

High Performance Embedded Key-Value Store
https://splinterdb.org
Apache License 2.0
680 stars 57 forks source link

(#538) Unit-test to exercise mini_allocator. Minor cleanup of module. #539

Closed gapisback closed 1 year ago

gapisback commented 1 year ago

This commit does some minor cleanup of the mini-allocator module. Some interfaces are slightly changed to streamline init / deinit interfaces. A new unit-test is added to exercise core interfaces of this page allocation system, and to test the print methods for keyed and unkeyed page allocation schemes.


No major code / logic changes. Introduced a new unit-test to exercise interfaces in mini_allocator.c along with additions of minor interfaces to manipulate page / extent addresses / validity etc. Some of the changes to streamline init, deinit calls will need some discussion during review. I've done my best effort, but think there is still room for improvement in this rework.

netlify[bot] commented 1 year ago

Deploy Preview for splinterdb canceled.

Name Link
Latest commit c46fff490a932ab6c1e06199f9950fb7775f554e
Latest deploy log https://app.netlify.com/sites/splinterdb/deploys/6411127f38f0f4000896be01
gapisback commented 1 year ago

Discussed in the weekly PR meeting with @rtjohnso and @ajhconway .

The overall ideas that this PR, and its associated PR #537, were bringing-in, that is of looking at page / extent addresses as page number, extent ID, was not considered very useful. There was no conviction that adding unit-tests to exercise, say, the mini-allocator, to demonstrate how we walk through individual pages in an extent wasn't found to be too useful to merit integrating these changes to /main.

Withdrawn.