|
@@ -10,8 +10,6 @@
|
|
|
|
|
|
/**
|
|
/**
|
|
* A structure to represent a maptable node
|
|
* A structure to represent a maptable node
|
|
- *
|
|
|
|
- * Heaps contain
|
|
|
|
*/
|
|
*/
|
|
typedef struct maptable_node_s {
|
|
typedef struct maptable_node_s {
|
|
unsigned int size; /**< the size of the blocks of the fixed list */
|
|
unsigned int size; /**< the size of the blocks of the fixed list */
|
|
@@ -24,6 +22,7 @@ typedef struct dmmstats_s {
|
|
uint32_t max_mem_requested; /**< maximum total memory requested */
|
|
uint32_t max_mem_requested; /**< maximum total memory requested */
|
|
uint32_t mem_allocated; /**< total memory currently allocated */
|
|
uint32_t mem_allocated; /**< total memory currently allocated */
|
|
uint32_t mem_requested; /**< total memory currently requested */
|
|
uint32_t mem_requested; /**< total memory currently requested */
|
|
|
|
+ uint32_t mem_reserved; /**< total memory currently reserved */
|
|
uint32_t live_objects; /**< number of live objects */
|
|
uint32_t live_objects; /**< number of live objects */
|
|
uint32_t read_mem_accesses; /**< number of read accesses */
|
|
uint32_t read_mem_accesses; /**< number of read accesses */
|
|
uint32_t write_mem_accesses; /**< number of write accesses */
|
|
uint32_t write_mem_accesses; /**< number of write accesses */
|
|
@@ -31,11 +30,18 @@ typedef struct dmmstats_s {
|
|
uint32_t num_free; /**< number of free()'s served */
|
|
uint32_t num_free; /**< number of free()'s served */
|
|
} dmmstats_t;
|
|
} dmmstats_t;
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * A structure to represent tunable parameters of a heap
|
|
|
|
+ */
|
|
typedef struct dmmknobs_s {
|
|
typedef struct dmmknobs_s {
|
|
- uint32_t maxCoalesceSize;
|
|
+ int32_t max_coalesce_size; /**< maximum coalesce size; -1 if coalescing
|
|
- uint32_t minSplitSize;
|
|
+ is not supported */
|
|
- float empty_threshold;
|
|
+ float frag_threshold; /**< fragmentation threshold to enable
|
|
- uint32_t percentage;
|
|
+ coalescing or not */
|
|
|
|
+ uint32_t mem_threshold; /**< memory size threshold */
|
|
|
|
+ uint32_t min_split_size; // FIXME to be investigated if needed
|
|
|
|
+ float empty_threshold; // FIXME to be investigated if needed
|
|
|
|
+ uint32_t percentage; // FIXME to be investigated if needed
|
|
char frag_state; //FIXME It was in the old code to refresh the frag check
|
|
char frag_state; //FIXME It was in the old code to refresh the frag check
|
|
} dmmknobs_t;
|
|
} dmmknobs_t;
|
|
|
|
|