MySQL 5.6.14 Source Code Document
|
Public Types | |
enum | AllocZone { NDB_ZONE_LO = 0, NDB_ZONE_ANY = 1 } |
Public Member Functions | |
void | set_resource_limit (const Resource_limit &rl) |
bool | get_resource_limit (Uint32 id, Resource_limit &rl) const |
bool | init (Uint32 *watchCounter, bool allow_alloc_less_than_requested=true) |
void | map (Uint32 *watchCounter, bool memlock=false, Uint32 resources[]=0) |
void * | get_memroot () const |
void | dump () const |
void * | alloc_page (Uint32 type, Uint32 *i, enum AllocZone) |
void | release_page (Uint32 type, Uint32 i) |
void | alloc_pages (Uint32 type, Uint32 *i, Uint32 *cnt, Uint32 min=1) |
void | release_pages (Uint32 type, Uint32 i, Uint32 cnt) |
Static Public Member Functions | |
static Uint32 | ndb_log2 (Uint32 size) |
Definition at line 61 of file ndbd_malloc_impl.hpp.
bool Ndbd_mem_manager::init | ( | Uint32 * | watchCounter, |
bool | allow_alloc_less_than_requested = true |
||
) |
Do malloc
Sort chunks...
Definition at line 338 of file ndbd_malloc_impl.cpp.
void Ndbd_mem_manager::map | ( | Uint32 * | watchCounter, |
bool | memlock = false , |
||
Uint32 | resources[] = 0 |
||
) |
Split chunk
memlock pages that I added...
Don't memlock everything in one go... cause then process won't be killable
Definition at line 479 of file ndbd_malloc_impl.cpp.
|
static |
Compute 2log of size
Definition at line 208 of file ndbd_malloc_impl.cpp.
void Ndbd_mem_manager::set_resource_limit | ( | const Resource_limit & | rl | ) |
resource 0 has following semantics:
m_min - remaining reserved for other resources m_curr - sum(m_curr) for other resources (i.e total in use) m_max - totally allocated from OS
resource N has following semantics:
m_min = reserved m_curr = currently used m_max = max alloc, 0 = no limit
Definition at line 263 of file ndbd_malloc_impl.cpp.