
Go to the source code of this file.
Data Structures | |
| struct | slot_header_ |
| struct | used_header_ |
| struct | block_header |
| struct | mempool_type |
Typedefs | |
| typedef gni_mem_handle_t | mem_handle_t |
| typedef void *(* | mempool_newblockfn )(size_t *size, mem_handle_t *mem_hndl, int expand_flag) |
| typedef void(* | mempool_freeblock )(void *ptr, mem_handle_t mem_hndl) |
| typedef struct slot_header_ | slot_header |
| typedef struct used_header_ | used_header |
| typedef used_header | mempool_header |
Functions | |
| mempool_type * | mempool_init (size_t pool_size, mempool_newblockfn newfn, mempool_freeblock freefn, size_t limit) |
| void | mempool_destroy (mempool_type *mptr) |
| void * | mempool_malloc (mempool_type *mptr, int size, int expand) |
| void | mempool_free (mempool_type *mptr, void *ptr_free) |
| void | mempool_free_thread (void *ptr_free) |
| void * | getNextRegisteredPool () |
| typedef CmiInt8 mem_handle_t |
| typedef void*(* mempool_newblockfn)(size_t *size, mem_handle_t *mem_hndl, int expand_flag) |
| typedef void(* mempool_freeblock)(void *ptr, mem_handle_t mem_hndl) |
| typedef struct slot_header_ slot_header |
| typedef struct used_header_ used_header |
| typedef used_header mempool_header |
| mempool_type* mempool_init | ( | size_t | pool_size, | |
| mempool_newblockfn | newfn, | |||
| mempool_freeblock | freefn, | |||
| size_t | limit | |||
| ) |
Definition at line 209 of file mempool.c.
References mempool_type::block_head, block_header::block_next, block_header::block_prev, mempool_type::block_tail, CmiCreateLock(), fillblock(), mempool_type::freeblockfn, left(), mempool_type::limit, block_header::mem_hndl, mempool_type::mempoolLock, block_header::mptr, block_header::msgs_in_recv, block_header::msgs_in_send, mempool_type::newblockfn, block_header::size, mempool_type::size, and block_header::used.
Referenced by CmiIsomalloc().
| void mempool_destroy | ( | mempool_type * | mptr | ) |
Definition at line 241 of file mempool.c.
References mempool_type::block_head, block_header::block_next, mempool_type::freeblockfn, and block_header::mem_hndl.
Referenced by CmiIsomallocBlockListPup().
| void* mempool_malloc | ( | mempool_type * | mptr, | |
| int | size, | |||
| int | expand | |||
| ) |
Definition at line 259 of file mempool.c.
References mempool_type::block_head, block_header::block_next, block_header::block_prev, slot_header_::block_ptr, mempool_type::block_tail, checkblock(), CmiAbort(), CmiLock(), CmiPrintf(), CmiUnlock(), fillblock(), block_header::freelists, mempool_type::limit, block_header::mem_hndl, mempool_type::mempoolLock, block_header::mptr, block_header::msgs_in_recv, block_header::msgs_in_send, mempool_type::newblockfn, slot_header_::next, slot_header_::prev, removeblocks(), block_header::size, mempool_type::size, slot_header_::status, block_header::used, and which_pow2().
Referenced by CmiIsomalloc().
| void mempool_free | ( | mempool_type * | mptr, | |
| void * | ptr_free | |||
| ) |
Definition at line 374 of file mempool.c.
References slot_header_::block_ptr, CmiMyPe(), CmiPrintf(), block_header::freelists, slot_header_::gnext, slot_header_::gprev, left(), slot_header_::next, slot_header_::prev, printf(), slot_header_::size, size, slot_header_::status, block_header::used, and which_pow2().
Referenced by mempool_free_thread().
| void mempool_free_thread | ( | void * | ptr_free | ) |
Definition at line 361 of file mempool.c.
References slot_header_::block_ptr, CmiLock(), CmiUnlock(), mempool_free(), and mempool_type::mempoolLock.
Referenced by CmiIsomallocFree().
| void* getNextRegisteredPool | ( | ) |
1.5.5