Public Member Functions | |
USMAllocImpl (std::unique_ptr< SystemMemory > SystemMemHandle) | |
void * | allocate (size_t Size, size_t Alignment, bool &FromPool) |
void * | allocate (size_t Size, bool &FromPool) |
void | deallocate (void *Ptr, bool &ToPool, bool OwnZeMemHandle) |
SystemMemory & | getMemHandle () |
std::shared_timed_mutex & | getKnownSlabsMapLock () |
std::unordered_multimap< void *, Slab & > & | getKnownSlabs () |
size_t | SlabMinSize () |
void | printStats (bool &TitlePrinted, size_t &HighBucketSize, size_t &HighPeakSlabsInUse, MemType MT) |
Definition at line 533 of file usm_allocator.cpp.
|
inline |
Definition at line 546 of file usm_allocator.cpp.
References settings::CutOff, settings::SetLimits::MinBucketSize, and settings::USMSettings.
void * USMAllocContext::USMAllocImpl::allocate | ( | size_t | Size, |
bool & | FromPool | ||
) |
Definition at line 937 of file usm_allocator.cpp.
References SystemMemory::allocate(), Bucket::ChunkCutOff(), Bucket::countAlloc(), Bucket::getChunk(), getMemHandle(), Bucket::getSlab(), settings::SetLimits::MaxPoolableSize, settings::SetLimits::PoolTrace, and settings::USMSettings.
void * USMAllocContext::USMAllocImpl::allocate | ( | size_t | Size, |
size_t | Alignment, | ||
bool & | FromPool | ||
) |
Definition at line 961 of file usm_allocator.cpp.
References AlignPtrUp(), AlignUp(), USMAllocContext::allocate(), Bucket::ChunkCutOff(), Bucket::countAlloc(), Bucket::getChunk(), Bucket::getSlab(), settings::SetLimits::MaxPoolableSize, settings::SetLimits::PoolTrace, and settings::USMSettings.
void USMAllocContext::USMAllocImpl::deallocate | ( | void * | Ptr, |
bool & | ToPool, | ||
bool | OwnZeMemHandle | ||
) |
Definition at line 1006 of file usm_allocator.cpp.
References AlignPtrDown(), Bucket::ChunkCutOff(), Bucket::countFree(), Bucket::freeChunk(), Bucket::freeSlab(), Slab::getBucket(), Slab::getEnd(), Slab::getPtr(), Bucket::getSize(), settings::SetLimits::PoolTrace, and settings::USMSettings.
|
inline |
Definition at line 567 of file usm_allocator.cpp.
|
inline |
Definition at line 566 of file usm_allocator.cpp.
|
inline |
Definition at line 564 of file usm_allocator.cpp.
Referenced by allocate(), and Bucket::getMemHandle().
void USMAllocContext::USMAllocImpl::printStats | ( | bool & | TitlePrinted, |
size_t & | HighBucketSize, | ||
size_t & | HighPeakSlabsInUse, | ||
MemType | MT | ||
) |
Definition at line 1123 of file usm_allocator.cpp.
|
inline |
Definition at line 571 of file usm_allocator.cpp.
References settings::SetLimits::SlabMinSize, and settings::USMSettings.