Pool allocator for a specific allocation size and numa node.
.
More...
#include <memory_manager.h>
|
static uint64_t | RoundUpTo (uint64_t number, uint64_t multiple) |
|
Pool allocator for a specific allocation size and numa node.
.
Definition at line 94 of file memory_manager.h.
◆ NumaPoolAllocator()
bdm::memory_manager_detail::NumaPoolAllocator::NumaPoolAllocator |
( |
uint64_t |
size, |
|
|
int |
nid, |
|
|
uint64_t |
size_n_pages, |
|
|
real_t |
growth_rate, |
|
|
uint64_t |
max_mem_per_thread_factor |
|
) |
| |
◆ ~NumaPoolAllocator()
bdm::memory_manager_detail::NumaPoolAllocator::~NumaPoolAllocator |
( |
| ) |
|
◆ AllocNewMemoryBlock()
void bdm::memory_manager_detail::NumaPoolAllocator::AllocNewMemoryBlock |
( |
std::size_t |
size | ) |
|
|
private |
◆ Delete()
void bdm::memory_manager_detail::NumaPoolAllocator::Delete |
( |
void * |
p | ) |
|
◆ GetSize()
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::GetSize |
( |
| ) |
const |
◆ InitializeNPages()
void bdm::memory_manager_detail::NumaPoolAllocator::InitializeNPages |
( |
List * |
tl_list, |
|
|
char * |
block, |
|
|
uint64_t |
mem_block_size |
|
) |
| |
|
private |
◆ New()
void * bdm::memory_manager_detail::NumaPoolAllocator::New |
( |
int |
tid | ) |
|
◆ RoundUpTo()
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::RoundUpTo |
( |
uint64_t |
number, |
|
|
uint64_t |
multiple |
|
) |
| |
|
static |
◆ central_
List bdm::memory_manager_detail::NumaPoolAllocator::central_ |
|
private |
◆ free_lists_
std::vector<List> bdm::memory_manager_detail::NumaPoolAllocator::free_lists_ |
|
private |
◆ growth_rate_
real_t bdm::memory_manager_detail::NumaPoolAllocator::growth_rate_ |
|
private |
◆ kMetadataSize
constexpr uint64_t bdm::memory_manager_detail::NumaPoolAllocator::kMetadataSize = 8 |
|
staticconstexprprivate |
◆ lock_
Spinlock bdm::memory_manager_detail::NumaPoolAllocator::lock_ |
|
private |
◆ max_nodes_per_thread_
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::max_nodes_per_thread_ |
|
private |
◆ memory_blocks_
std::vector<AllocatedBlock> bdm::memory_manager_detail::NumaPoolAllocator::memory_blocks_ |
|
private |
◆ nid_
int bdm::memory_manager_detail::NumaPoolAllocator::nid_ |
|
private |
◆ num_elements_per_n_pages_
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::num_elements_per_n_pages_ |
|
private |
◆ size_
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::size_ |
|
private |
◆ size_n_pages_
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::size_n_pages_ |
|
private |
◆ tinfo_
ThreadInfo* bdm::memory_manager_detail::NumaPoolAllocator::tinfo_ |
|
private |
◆ total_size_
uint64_t bdm::memory_manager_detail::NumaPoolAllocator::total_size_ = 0 |
|
private |
The documentation for this class was generated from the following files: