Public Member Functions | |
Bucket (size_t Sz, USMAllocContext::USMAllocImpl &AllocCtx) | |
void * | getChunk (bool &FromPool) |
void * | getSlab (bool &FromPool) |
size_t | getSize () const |
void | freeChunk (void *Ptr, Slab &Slab, bool &ToPool) |
void | freeSlab (Slab &Slab, bool &ToPool) |
SystemMemory & | getMemHandle () |
MemType | getMemType () |
USMAllocContext::USMAllocImpl & | getUsmAllocCtx () |
bool | CanPool (bool &ToPool) |
size_t | SlabMinSize () |
size_t | SlabAllocSize () |
size_t | ChunkCutOff () |
size_t | Capacity () |
size_t | MaxPoolableSize () |
void | countAlloc (bool FromPool) |
void | countFree () |
void | updateStats (int InUse, int InPool) |
void | printStats (bool &TitlePrinted, MemType MT) |
Public Attributes | |
size_t | allocCount |
size_t | maxSlabsInUse |
Definition at line 415 of file usm_allocator.cpp.
|
inline |
Definition at line 462 of file usm_allocator.cpp.
bool Bucket::CanPool | ( | bool & | ToPool | ) |
Definition at line 848 of file usm_allocator.cpp.
References Capacity(), ChunkCutOff(), settings::SetLimits::CurPoolSize, getSize(), settings::SetLimits::MaxPoolSize, settings::PoolLock, SlabAllocSize(), updateStats(), and settings::USMSettings.
Referenced by freeSlab().
size_t Bucket::Capacity | ( | ) |
Definition at line 882 of file usm_allocator.cpp.
References settings::SetLimits::Capacity, ChunkCutOff(), getMemType(), getSize(), and settings::USMSettings.
Referenced by CanPool().
size_t Bucket::ChunkCutOff | ( | ) |
Definition at line 895 of file usm_allocator.cpp.
References SlabMinSize().
Referenced by USMAllocContext::USMAllocImpl::allocate(), CanPool(), Capacity(), and USMAllocContext::USMAllocImpl::deallocate().
void Bucket::countAlloc | ( | bool | FromPool | ) |
Definition at line 897 of file usm_allocator.cpp.
References allocCount.
Referenced by USMAllocContext::USMAllocImpl::allocate().
void Bucket::countFree | ( | ) |
Definition at line 903 of file usm_allocator.cpp.
Referenced by USMAllocContext::USMAllocImpl::deallocate().
void Bucket::freeChunk | ( | void * | Ptr, |
Slab & | Slab, | ||
bool & | ToPool | ||
) |
Definition at line 807 of file usm_allocator.cpp.
References Slab::freeChunk().
Referenced by USMAllocContext::USMAllocImpl::deallocate().
void Bucket::freeSlab | ( | Slab & | Slab, |
bool & | ToPool | ||
) |
Definition at line 752 of file usm_allocator.cpp.
References CanPool(), and Slab::getIterator().
Referenced by USMAllocContext::USMAllocImpl::deallocate().
void * Bucket::getChunk | ( | bool & | FromPool | ) |
Definition at line 790 of file usm_allocator.cpp.
Referenced by USMAllocContext::USMAllocImpl::allocate().
SystemMemory & Bucket::getMemHandle | ( | ) |
Definition at line 874 of file usm_allocator.cpp.
References USMAllocContext::USMAllocImpl::getMemHandle().
Referenced by getMemType(), Slab::Slab(), and Slab::~Slab().
MemType Bucket::getMemType | ( | ) |
Definition at line 876 of file usm_allocator.cpp.
References getMemHandle(), and SystemMemory::getMemType().
Referenced by Capacity(), MaxPoolableSize(), SlabMinSize(), and updateStats().
|
inline |
Definition at line 475 of file usm_allocator.cpp.
Referenced by CanPool(), Capacity(), USMAllocContext::USMAllocImpl::deallocate(), Slab::getChunkSize(), operator<<(), printStats(), and SlabAllocSize().
void * Bucket::getSlab | ( | bool & | FromPool | ) |
Definition at line 740 of file usm_allocator.cpp.
Referenced by USMAllocContext::USMAllocImpl::allocate().
|
inline |
Definition at line 487 of file usm_allocator.cpp.
size_t Bucket::MaxPoolableSize | ( | ) |
Definition at line 891 of file usm_allocator.cpp.
References getMemType(), settings::SetLimits::MaxPoolableSize, and settings::USMSettings.
void Bucket::printStats | ( | bool & | TitlePrinted, |
MemType | MT | ||
) |
Definition at line 917 of file usm_allocator.cpp.
References allocCount, std::cout, getSize(), maxSlabsInUse, settings::SetLimits::MemTypeNames, sycl::_V1::setw(), and settings::USMSettings.
size_t Bucket::SlabAllocSize | ( | ) |
Definition at line 880 of file usm_allocator.cpp.
References getSize(), and SlabMinSize().
Referenced by CanPool(), Slab::Slab(), and updateStats().
size_t Bucket::SlabMinSize | ( | ) |
Definition at line 878 of file usm_allocator.cpp.
References getMemType(), settings::SetLimits::SlabMinSize, and settings::USMSettings.
Referenced by ChunkCutOff(), Slab::getEnd(), and SlabAllocSize().
void Bucket::updateStats | ( | int | InUse, |
int | InPool | ||
) |
Definition at line 905 of file usm_allocator.cpp.
References settings::SetLimits::CurPoolSizes, getMemType(), maxSlabsInUse, settings::SetLimits::PoolTrace, SlabAllocSize(), and settings::USMSettings.
Referenced by CanPool().
size_t Bucket::allocCount |
Definition at line 459 of file usm_allocator.cpp.
Referenced by countAlloc(), and printStats().
size_t Bucket::maxSlabsInUse |
Definition at line 460 of file usm_allocator.cpp.
Referenced by printStats(), and updateStats().