The Pedigree Project 0.1
Public Types | Public Member Functions | Public Attributes | List of all members
Cache::CachePage Struct Reference
+ 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
 

Detailed Description

Definition at line 212 of file Cache.h.

Member Enumeration Documentation

◆ EvictionState

enum class Cache::CachePage::EvictionState
strong

Definition at line 230 of file Cache.h.

◆ Status

Current page status.

Definition at line 251 of file Cache.h.

Member Function Documentation

◆ checkChecksum()

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:

◆ checkZeroChecksum()

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:

Member Data Documentation

◆ callbackActive

bool Cache::CachePage::callbackActive

Definition at line 225 of file Cache.h.

◆ callbackOwner

Thread* Cache::CachePage::callbackOwner

Definition at line 227 of file Cache.h.

◆ checksum

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

◆ checksumChanging

bool Cache::CachePage::checksumChanging

Marker to check that a page's contents are in flux.

Definition at line 241 of file Cache.h.

◆ externallyWritable

bool Cache::CachePage::externallyWritable

Definition at line 244 of file Cache.h.

◆ key

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

◆ location

uintptr_t Cache::CachePage::location

◆ mutableLoans

size_t Cache::CachePage::mutableLoans

Definition at line 223 of file Cache.h.

◆ mutationGeneration

uint64_t Cache::CachePage::mutationGeneration

Definition at line 246 of file Cache.h.

◆ pNext

CachePage* Cache::CachePage::pNext

Linked list components for LRU.

Definition at line 266 of file Cache.h.

Referenced by Cache::linkPage(), and Cache::unlinkPage().

◆ pPrev

CachePage* Cache::CachePage::pPrev

Definition at line 267 of file Cache.h.

◆ refcnt

size_t Cache::CachePage::refcnt

◆ writebackEpoch

uint64_t Cache::CachePage::writebackEpoch

Definition at line 248 of file Cache.h.

◆ writebackFailed

bool Cache::CachePage::writebackFailed

Definition at line 243 of file Cache.h.

◆ writebackIndexed

bool Cache::CachePage::writebackIndexed

Definition at line 245 of file Cache.h.

◆ writebackPins

size_t Cache::CachePage::writebackPins

Definition at line 222 of file Cache.h.

◆ writtenGeneration

uint64_t Cache::CachePage::writtenGeneration

Definition at line 247 of file Cache.h.


The documentation for this struct was generated from the following files: