| 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.