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