18 #ifndef FOEDUS_CACHE_CACHE_MANAGER_PIMPL_HPP_
19 #define FOEDUS_CACHE_CACHE_MANAGER_PIMPL_HPP_
116 #endif // FOEDUS_CACHE_CACHE_MANAGER_PIMPL_HPP_
memory::PagePoolOffset * reclaimed_pages_
This buffers pages being reclaimed.
Page pool for volatile read/write store (VolatilePage) and the read-only bufferpool (SnapshotPage)...
CacheHashtable * hashtable_
The cache hashtable (SnapshotPageId -> offset in pool) on top of the page pool.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
uint32_t PagePoolOffset
Offset in PagePool that compactly represents the page address (unlike 8 bytes pointer).
ErrorStack stop_cleaner()
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
std::string describe() const
Typical implementation of Initializable as a skeleton base class.
std::atomic< bool > stop_requested_
to stop cleaner_
uint64_t urgent_threshold_
the number of allocated pages above which cleaner advances epoch to release pages ...
CacheManagerPimpl()=delete
Forward declarations of classes in cache package.
memory::PagePool * pool_
The SOC-local snapshot page pool in this SOC engine.
ErrorStack uninitialize_once() override
memory::AlignedMemory reclaimed_pages_memory_
The memory backing reclaimed_pages_.
void handle_cleaner_evict_pages(uint64_t target_count)
Evicts pages up to about target_count (maybe a bit more or less).
std::thread cleaner_
The only cleaner thread in this SOC engine.
Database engine object that holds all resources and provides APIs.
Pimpl object of CacheManager.
A NUMA-local hashtable of cached snapshot pages.
Represents one memory block aligned to actual OS/hardware pages.
uint64_t reclaimed_pages_count_
Number of pages buffered so far.
void handle_cleaner()
Main routine of cleaner_.
uint64_t cleaner_threshold_
the number of allocated pages above which cleaner starts cleaning
ErrorStack initialize_once() override