 |
NVMLib
very early alpha
A library to optimally use a Hybrid RAM setup.
|
Go to the documentation of this file.
7 #include <libpmemobj.h>
9 #define POOL_ID_MALLOC_OBJ -1
11 #define POOL_SIZE (2 << 12) // Pool size is 4kB
67 #endif // !__NVM_POOL__
POBJ_LAYOUT_ROOT(free_slot_layout, struct pool_free_slots_root)
uint64_t get_first_free_offset(size_t size)
uintptr_t get_pool_from_poolid(uint64_t pool_id)
pool_free_slot_head * head
struct pool_free_slot_val_st pool_free_slot_val
DECLARE_HASHMAP(pool_free_slot_val)
struct pool_free_slot_head head
void create_new_pool(size_t size)
POBJ_TAILQ_HEAD(pool_free_slot_head, struct pool_free_slot)
void nvm_free(uint64_t pool_id, uint64_t offset, size_t size)
struct pool_free_slots_root pool_free_slots_root
POBJ_TAILQ_ENTRY(struct pool_free_slot) fnd
POBJ_LAYOUT_TOID(free_slot_layout, struct pool_free_slot)
struct pool_free_slot_head pool_free_slot_head
POBJ_LAYOUT_END(free_slot_layout)
struct pool_free_slot pool_free_slot
unsigned long int uintptr_t
POBJ_LAYOUT_BEGIN(free_slot_layout)
struct pool_kv_st pool_kv
HASH_MAP(pool_kv) *pool_map
uint64_t get_current_poolid()