Integrate features of zone-allocation (zalloc) from Xnu (Apple/Darwin CMU's Mach/OS) #3

Open
opened 2014-03-16 17:52:47 +00:00 by gburd · 0 comments
gburd commented 2014-03-16 17:52:47 +00:00 (Migrated from github.com)

Zone-based memory allocator. A zone is a collection of fixed size data blocks for which quick allocation/deallocation is possible. [1] Include APIs/features inspired by "NSZone" allocation from Obj-C for a) fast-free of zones, b) different allocators per-zone, c) NUMA/core/thread-specific allocation. An example of a good use for (b) is if you had the ability to allocate transient memory from RAM as normal along side of persistent memory backed by some flash device (SSD, PCIe, Violin Memory, etc.). Add z-prefixed versions of all the standard malloc API calls and add a "set allocator for Zone" API. In addition, add a checkpoint call (for persistent stores).

[1] http://www.opensource.apple.com/source/xnu/xnu-2050.18.24/osfmk/kern/zalloc.c?txt
[2] http://www.webweavertech.com/libFoundation/doc/libFoundation_20.html

Zone-based memory allocator. A zone is a collection of fixed size data blocks for which quick allocation/deallocation is possible. [1] Include APIs/features inspired by "NSZone" allocation from Obj-C for a) fast-free of zones, b) different allocators per-zone, c) NUMA/core/thread-specific allocation. An example of a good use for (b) is if you had the ability to allocate transient memory from RAM as normal along side of persistent memory backed by some flash device (SSD, PCIe, Violin Memory, etc.). Add z-prefixed versions of all the standard malloc API calls and add a "set allocator for Zone" API. In addition, add a checkpoint call (for persistent stores). [1] http://www.opensource.apple.com/source/xnu/xnu-2050.18.24/osfmk/kern/zalloc.c?txt [2] http://www.webweavertech.com/libFoundation/doc/libFoundation_20.html
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: greg/libumem#3
No description provided.