#include "meminfo.h"


Go to the source code of this file.
Data Structures | |
| struct | qm_block |
| struct | qm_frag |
| struct | qm_frag_end |
| struct | qm_frag_lnk |
Defines | |
| #define | MIN_FRAG_SIZE ROUNDTO |
| #define | q_malloc_h |
| #define | QM_HASH_SIZE |
| #define | QM_MALLOC_OPTIMIZE ((unsigned long)(1UL<<QM_MALLOC_OPTIMIZE_FACTOR)) |
| #define | QM_MALLOC_OPTIMIZE_FACTOR 14UL |
| #define | ROUNDTO 16UL |
Functions | |
| void | qm_free (struct qm_block *, void *p) |
| void | qm_info (struct qm_block *, struct mem_info *) |
| void * | qm_malloc (struct qm_block *, unsigned long size) |
| struct qm_block * | qm_malloc_init (char *address, unsigned long size) |
| void * | qm_realloc (struct qm_block *, void *p, unsigned long size) |
| void | qm_status (struct qm_block *) |
| #define MIN_FRAG_SIZE ROUNDTO |
Definition at line 55 of file q_malloc.h.
| #define q_malloc_h |
Definition at line 34 of file q_malloc.h.
| #define QM_HASH_SIZE |
Value:
((unsigned long)(QM_MALLOC_OPTIMIZE/ROUNDTO + \ (sizeof(long)*8-QM_MALLOC_OPTIMIZE_FACTOR)+1))
Definition at line 65 of file q_malloc.h.
Referenced by qm_find_free(), qm_info(), qm_malloc_init(), and qm_status().
| #define QM_MALLOC_OPTIMIZE ((unsigned long)(1UL<<QM_MALLOC_OPTIMIZE_FACTOR)) |
Definition at line 60 of file q_malloc.h.
Referenced by qm_malloc_init(), qm_status(), and split_frag().
| #define QM_MALLOC_OPTIMIZE_FACTOR 14UL |
Definition at line 59 of file q_malloc.h.
| #define ROUNDTO 16UL |
Definition at line 50 of file q_malloc.h.
| void qm_free | ( | struct qm_block * | , | |
| void * | p | |||
| ) |
Definition at line 416 of file q_malloc.c.
References qm_block::first_frag, FRAG_END, FRAG_NEXT, FRAG_OVERHEAD, FRAG_PREV, qm_block::free_hash, GET_HASH, qm_frag::is_free, qm_block::last_frag_end, LM_CRIT, LM_GEN1, LM_WARN, memlog, qm_frag_lnk::no, qm_detach_free(), qm_insert_free(), qm_block::real_used, qm_frag::size, qm_frag::u, and qm_block::used.
Referenced by qm_malloc(), and qm_realloc().
Definition at line 688 of file q_malloc.c.
References mem_info::free, qm_block::free_hash, qm_block::max_real_used, mem_info::max_used, mem_info::min_frag, MIN_FRAG_SIZE, qm_frag_lnk::no, QM_HASH_SIZE, mem_info::real_used, qm_block::real_used, qm_block::size, mem_info::total_frags, mem_info::total_size, qm_block::used, and mem_info::used.
| void* qm_malloc | ( | struct qm_block * | , | |
| unsigned long | size | |||
| ) |
Definition at line 352 of file q_malloc.c.
References qm_block::free_hash, hash, qm_frag::is_free, LM_GEN1, qm_block::max_real_used, memlog, qm_frag_lnk::no, qm_detach_free(), qm_find_free(), qm_free(), qm_block::real_used, ROUNDUP, qm_frag::size, qm_block::size, split_frag(), qm_frag::u, and qm_block::used.
Referenced by qm_realloc(), and split_frag().
| struct qm_block* qm_malloc_init | ( | char * | address, | |
| unsigned long | size | |||
| ) | [read] |
Definition at line 185 of file q_malloc.c.
References qm_block::first_frag, FRAG_OVERHEAD, qm_block::free_hash, qm_frag_lnk::head, qm_block::last_frag_end, LM_DBG, qm_block::max_real_used, MIN_FRAG_SIZE, qm_frag::nxt_free, qm_frag_end::prev_free, QM_HASH_SIZE, qm_insert_free(), QM_MALLOC_OPTIMIZE, qm_block::real_used, ROUNDDOWN, ROUNDTO, ROUNDUP, qm_frag_end::size, qm_frag::size, qm_block::size, qm_frag_lnk::tail, and qm_frag::u.
Referenced by init_pkg_mallocs().
| void* qm_realloc | ( | struct qm_block * | , | |
| void * | p, | |||
| unsigned long | size | |||
| ) |
Definition at line 500 of file q_malloc.c.
References qm_block::first_frag, FRAG_END, FRAG_NEXT, FRAG_OVERHEAD, qm_block::free_hash, GET_HASH, qm_frag::is_free, qm_block::last_frag_end, LM_CRIT, LM_GEN1, memlog, qm_frag_lnk::no, qm_detach_free(), qm_free(), qm_malloc(), qm_block::real_used, ROUNDUP, qm_frag::size, split_frag(), qm_frag::u, and qm_block::used.
| void qm_status | ( | struct qm_block * | ) |
Definition at line 623 of file q_malloc.c.
References qm_block::first_frag, FRAG_END, FRAG_NEXT, FRAG_WAS_USED, qm_block::free_hash, qm_frag_lnk::head, qm_frag::is_free, qm_block::last_frag_end, LM_CRIT, LM_GEN1, qm_block::max_real_used, memlog, qm_frag_lnk::no, qm_frag::nxt_free, QM_HASH_SIZE, QM_MALLOC_OPTIMIZE, qm_block::real_used, ROUNDTO, qm_frag::size, qm_block::size, qm_frag::u, UN_HASH, and qm_block::used.
1.5.6