|
The Pedigree Project 0.1
|
Collaboration diagram for Cache::CachePage:Public Types | |
| enum class | EvictionState { None , WriteBack , Draining , Retiring } |
| enum | Status { Editing , EditTransition , ChecksumChanging , ChecksumStable } |
| Current page status. More... | |
Public Member Functions | |
| bool | checkChecksum (uint64_t other[2]) const |
| Check the checksum against another. | |
| bool | checkZeroChecksum () const |
| Check for an unset checksum. | |
Public Attributes | |
| uintptr_t | key |
| Key for this page. | |
| uintptr_t | location |
| The location of this page in memory. | |
| size_t | refcnt |
| size_t | writebackPins |
| size_t | mutableLoans |
| bool | callbackActive |
| Thread * | callbackOwner |
| enum Cache::CachePage::EvictionState | evictionState |
| uint64_t | checksum [2] |
| Checksum of the page's contents (for dirty detection). | |
| bool | checksumChanging |
| Marker to check that a page's contents are in flux. | |
| bool | writebackFailed |
| bool | externallyWritable |
| bool | writebackIndexed |
| uint64_t | mutationGeneration |
| uint64_t | writtenGeneration |
| uint64_t | writebackEpoch |
| enum Cache::CachePage::Status | status |
| CachePage * | pNext |
| Linked list components for LRU. | |
| CachePage * | pPrev |
| bool Cache::CachePage::checkChecksum | ( | uint64_t | other[2] | ) | const |
Check the checksum against another.
Definition at line 2529 of file Cache.cc.
References checksum.
Referenced by Cache::verifyChecksum().
Here is the caller graph for this function:| bool Cache::CachePage::checkZeroChecksum | ( | ) | const |
Check for an unset checksum.
Definition at line 2533 of file Cache.cc.
References Cache::checksum().
Referenced by Cache::verifyChecksum().
Here is the caller graph for this function:| uint64_t Cache::CachePage::checksum[2] |
Checksum of the page's contents (for dirty detection).
Definition at line 238 of file Cache.h.
Referenced by Cache::calculateChecksum(), checkChecksum(), Cache::evict(), Cache::insert(), Cache::insert(), Cache::verifyChecksum(), and Cache::writebackPage().
| bool Cache::CachePage::checksumChanging |
| uintptr_t Cache::CachePage::key |
Key for this page.
Definition at line 214 of file Cache.h.
Referenced by Cache::finishRetirement(), Cache::insert(), Cache::insert(), Cache::lruEvict(), and Cache::PreparedDiscard::writeback().
| uintptr_t Cache::CachePage::location |
The location of this page in memory.
Definition at line 217 of file Cache.h.
Referenced by Cache::calculateChecksum(), Cache::evict(), Cache::finishRetirement(), Cache::insert(), Cache::insert(), Cache::lookup(), Cache::lookupStable(), Cache::retireWriteback(), Cache::sync(), Cache::timer(), Cache::verifyChecksum(), Cache::PreparedDiscard::writeback(), and Cache::writebackPage().
| CachePage* Cache::CachePage::pNext |
Linked list components for LRU.
Definition at line 266 of file Cache.h.
Referenced by Cache::linkPage(), and Cache::unlinkPage().
| size_t Cache::CachePage::refcnt |
Reference count to handle release() being called with multiple threads having access to the page.
Definition at line 221 of file Cache.h.
Referenced by Cache::empty(), Cache::evict(), Cache::executeRequest(), Cache::insert(), Cache::insert(), Cache::lookup(), Cache::lookupStable(), Cache::pin(), Cache::prepareDiscardFrom(), Cache::read(), Cache::release(), Cache::retireWriteback(), Cache::sync(), Cache::timer(), and Cache::PreparedDiscard::writeback().