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


Go to the source code of this file.
Data Structures | |
| struct | object_maintainance_st |
The structure used by the logistics thread for keeping track of the object state in order to make different desicions regarding the placement of object in DRAM or NVRAM. More... | |
| struct | object_maintainance_addition |
| struct | object_maintainance_deletion |
Macros | |
| #define | DELETE_LOOP_SLEEP_TIME 1000 |
The sleep time for deletion thread More... | |
| #define | MOVE_LOOP_SLEEP_TIME 1000 |
The sleep time for logistics thread More... | |
Typedefs | |
| typedef enum access_type_en | access_types_t |
| typedef enum shitf_levels_en | shift_levels_t |
| typedef enum where_en | where_t |
| typedef struct object_maintainance_st | object_maintainance |
The structure used by the logistics thread for keeping track of the object state in order to make different desicions regarding the placement of object in DRAM or NVRAM. More... | |
| typedef struct object_maintainance_addition | object_maintainance_addition |
| typedef struct object_maintainance_deletion | object_maintainance_deletion |
Enumerations | |
| enum | access_type_en { ACCESS_UNKNOWN, READ, WRITE } |
| enum | shitf_levels_en { JUST_ENTERED, ONE, TWO, THREE, FOUR, MOVE_NOW } |
| enum | where_en { RAM_UNKNOWN, DRAM, NVRAM, NO_RAM } |
Functions | |
| TAILQ_HEAD (object_maintainance_addition_list, object_maintainance_addition) addition_queue_head | |
| TAILQ_HEAD (object_maintainance_deletion_list, object_maintainance_deletion) deletion_queue_head | |
| void | initialise_logistics () |
| void | lock_om () |
| void | unlock_om () |
| object_maintainance * | find_in_maintainance_map (MEMoidKey key) |
| void | insert_into_maintainance_map (object_maintainance *obj) |
| void | delete_from_maintainance_map (object_maintainance *obj) |
| object_maintainance * | create_new_maintainance_map_entry (MEMoidKey key, MEMoid oid, where_t which_ram, bool can_be_moved) |
| #define DELETE_LOOP_SLEEP_TIME 1000 |
The sleep time for deletion thread
Definition at line 12 of file object_maintainance.h.
| #define MOVE_LOOP_SLEEP_TIME 1000 |
The sleep time for logistics thread
Definition at line 14 of file object_maintainance.h.
| typedef enum access_type_en access_types_t |
| typedef struct object_maintainance_st object_maintainance |
The structure used by the logistics thread for keeping track of the object state in order to make different desicions regarding the placement of object in DRAM or NVRAM.
| typedef struct object_maintainance_addition object_maintainance_addition |
| typedef struct object_maintainance_deletion object_maintainance_deletion |
| typedef enum shitf_levels_en shift_levels_t |
| enum access_type_en |
| Enumerator | |
|---|---|
| ACCESS_UNKNOWN | |
| READ | |
| WRITE | |
Definition at line 15 of file object_maintainance.h.
| enum shitf_levels_en |
| Enumerator | |
|---|---|
| JUST_ENTERED | |
| ONE | |
| TWO | |
| THREE | |
| FOUR | |
| MOVE_NOW | |
Definition at line 21 of file object_maintainance.h.
| enum where_en |
| Enumerator | |
|---|---|
| RAM_UNKNOWN | |
| DRAM | |
| NVRAM | |
| NO_RAM | |
Definition at line 30 of file object_maintainance.h.
| object_maintainance* create_new_maintainance_map_entry | ( | MEMoidKey | key, |
| MEMoid | oid, | ||
| where_t | which_ram, | ||
| bool | can_be_moved | ||
| ) |
Definition at line 570 of file object_maintainance.c.
| void delete_from_maintainance_map | ( | object_maintainance * | obj | ) |
Definition at line 598 of file object_maintainance.c.
| object_maintainance* find_in_maintainance_map | ( | MEMoidKey | key | ) |
| void initialise_logistics | ( | ) |
| void insert_into_maintainance_map | ( | object_maintainance * | obj | ) |
Definition at line 594 of file object_maintainance.c.
| void lock_om | ( | ) |
| TAILQ_HEAD | ( | object_maintainance_addition_list | , |
| object_maintainance_addition | |||
| ) |
| TAILQ_HEAD | ( | object_maintainance_deletion_list | , |
| object_maintainance_deletion | |||
| ) |
| void unlock_om | ( | ) |
Definition at line 75 of file object_maintainance.c.