![]() |
NVMLib
very early alpha
A library to optimally use a Hybrid RAM setup.
|


Go to the source code of this file.
Data Structures | |
| struct | pool_free_slot |
| struct | pool_free_slots_root |
| struct | pool_kv_st |
| struct | pool_free_slot_val_st |
Macros | |
| #define | POOL_ID_MALLOC_OBJ -1 |
| #define | POOL_SIZE (2 << 12) |
Typedefs | |
| typedef struct pool_free_slot | pool_free_slot |
| typedef struct pool_free_slot_head | pool_free_slot_head |
| typedef struct pool_free_slots_root | pool_free_slots_root |
| typedef struct pool_kv_st | pool_kv |
| typedef struct pool_free_slot_val_st | pool_free_slot_val |
Functions | |
| POBJ_LAYOUT_BEGIN (free_slot_layout) | |
| POBJ_LAYOUT_ROOT (free_slot_layout, struct pool_free_slots_root) | |
| POBJ_LAYOUT_TOID (free_slot_layout, struct pool_free_slot) | |
| POBJ_LAYOUT_END (free_slot_layout) | |
| POBJ_TAILQ_HEAD (pool_free_slot_head, struct pool_free_slot) | |
| DECLARE_HASHMAP (pool_free_slot_val) | |
| HASH_MAP (pool_kv) *pool_map | |
| HASH_MAP (pool_free_slot_val) *pool_free_slot_map | |
| int | initialize_pool () |
| uintptr_t | get_pool_from_poolid (uint64_t pool_id) |
| uint64_t | get_current_poolid () |
| uint64_t | get_first_free_offset (size_t size) |
| void | nvm_free (uint64_t pool_id, uint64_t offset, size_t size) |
| void | create_new_pool (size_t size) |
Variables | |
| uint32_t | num_pools |
| typedef struct pool_free_slot pool_free_slot |
| typedef struct pool_free_slot_head pool_free_slot_head |
| typedef struct pool_free_slot_val_st pool_free_slot_val |
| typedef struct pool_free_slots_root pool_free_slots_root |
| typedef struct pool_kv_st pool_kv |
| void create_new_pool | ( | size_t | size | ) |
| DECLARE_HASHMAP | ( | pool_free_slot_val | ) |
| uint64_t get_first_free_offset | ( | size_t | size | ) |
| HASH_MAP | ( | pool_free_slot_val | ) |
| HASH_MAP | ( | pool_kv | ) |
| int initialize_pool | ( | ) |
| POBJ_LAYOUT_BEGIN | ( | free_slot_layout | ) |
| POBJ_LAYOUT_END | ( | free_slot_layout | ) |
| POBJ_LAYOUT_ROOT | ( | free_slot_layout | , |
| struct pool_free_slots_root | |||
| ) |
| POBJ_LAYOUT_TOID | ( | free_slot_layout | , |
| struct pool_free_slot | |||
| ) |
| POBJ_TAILQ_HEAD | ( | pool_free_slot_head | , |
| struct pool_free_slot | |||
| ) |