libfoedus-core
FOEDUS Core Library
|
Shared data in PagePoolPimpl. More...
Shared data in PagePoolPimpl.
Definition at line 40 of file page_pool_pimpl.hpp.
#include <page_pool_pimpl.hpp>
Public Member Functions | |
PagePoolControlBlock ()=delete | |
~PagePoolControlBlock ()=delete | |
void | initialize () |
void | uninitialize () |
Public Attributes | |
uint64_t | free_pool_head_ |
Inclusive head of the circular queue. More... | |
uint64_t | free_pool_count_ |
Number of free pages. More... | |
assorted::FixedString< 60 > | debug_pool_name_ |
just for debugging/logging. More... | |
soc::SharedMutex | lock_ |
grab()/release() are protected with this lock. More... | |
|
delete |
|
delete |
|
inline |
Definition at line 45 of file page_pool_pimpl.hpp.
References foedus::soc::SharedMutex::initialize(), and lock_.
Referenced by foedus::memory::PagePoolPimpl::initialize_once().
|
inline |
Definition at line 48 of file page_pool_pimpl.hpp.
References lock_, and foedus::soc::SharedMutex::uninitialize().
Referenced by foedus::memory::PagePoolPimpl::uninitialize_once().
assorted::FixedString<60> foedus::memory::PagePoolControlBlock::debug_pool_name_ |
just for debugging/logging.
concise description of this pool instance. eg "VolatilePool-3".
Definition at line 58 of file page_pool_pimpl.hpp.
Referenced by foedus::memory::PagePoolPimpl::attach(), foedus::memory::PagePoolPimpl::get_debug_pool_name(), and foedus::memory::PagePoolPimpl::set_debug_pool_name().
uint64_t foedus::memory::PagePoolControlBlock::free_pool_count_ |
Number of free pages.
Definition at line 55 of file page_pool_pimpl.hpp.
Referenced by foedus::memory::PagePoolPimpl::decrease_free_pool_count(), foedus::memory::PagePoolPimpl::get_free_pool_count(), foedus::memory::PagePoolPimpl::increase_free_pool_count(), and foedus::memory::PagePoolPimpl::initialize_once().
uint64_t foedus::memory::PagePoolControlBlock::free_pool_head_ |
Inclusive head of the circular queue.
Be aware of wrapping around.
Definition at line 53 of file page_pool_pimpl.hpp.
Referenced by foedus::memory::PagePoolPimpl::free_pool_head(), and foedus::memory::PagePoolPimpl::initialize_once().
soc::SharedMutex foedus::memory::PagePoolControlBlock::lock_ |
grab()/release() are protected with this lock.
This lock is not contentious at all because we pack many pointers in a chunk.
Definition at line 64 of file page_pool_pimpl.hpp.
Referenced by foedus::memory::PagePoolPimpl::grab(), foedus::memory::PagePoolPimpl::grab_one(), initialize(), foedus::memory::PagePoolPimpl::release_impl(), foedus::memory::PagePoolPimpl::release_one(), and uninitialize().