The Pedigree Project 0.1
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Cache::PreparedDiscard Class Reference
+ Collaboration diagram for Cache::PreparedDiscard:

Classes

struct  Entry
 

Public Member Functions

MUST_USE_RESULT bool writeback (retirement_writeback_t callback, void *context)
 
void commit ()
 

Private Member Functions

 PreparedDiscard (Cache &cache)
 
 NOT_COPYABLE_OR_ASSIGNABLE (PreparedDiscard)
 

Private Attributes

TerminationDeferral m_TerminationDeferral
 
Cachem_Cache
 
UniqueArray< Entrym_Entries
 
size_t m_Count
 
bool m_Committed
 
OperationBarrier::Lease m_Lease
 

Friends

class Cache
 

Detailed Description

Definition at line 422 of file Cache.h.

Constructor & Destructor Documentation

◆ ~PreparedDiscard()

Cache::PreparedDiscard::~PreparedDiscard ( )

Definition at line 30 of file Cache-discard.cc.

◆ PreparedDiscard()

Cache::PreparedDiscard::PreparedDiscard ( Cache cache)
explicitprivate

Definition at line 27 of file Cache-discard.cc.

Member Function Documentation

◆ commit()

void Cache::PreparedDiscard::commit ( )

Definition at line 91 of file Cache-discard.cc.

◆ writeback()

bool Cache::PreparedDiscard::writeback ( retirement_writeback_t  callback,
void *  context 
)

Writes exclusively claimed pages without reopening lookup admission. All pages remain dirty until commit: the owner must still flush hardware.

Definition at line 47 of file Cache-discard.cc.

References ProcessorBase::information(), Cache::CachePage::key, Cache::CachePage::location, Cache::m_EvictionWaiters, Cache::m_Lock, and Cache::CachePage::refcnt.

Friends And Related Symbol Documentation

◆ Cache

friend class Cache
friend

Definition at line 432 of file Cache.h.

Member Data Documentation

◆ m_Cache

Cache& Cache::PreparedDiscard::m_Cache
private

Definition at line 437 of file Cache.h.

◆ m_Committed

bool Cache::PreparedDiscard::m_Committed
private

Definition at line 440 of file Cache.h.

◆ m_Count

size_t Cache::PreparedDiscard::m_Count
private

Definition at line 439 of file Cache.h.

◆ m_Entries

UniqueArray<Entry> Cache::PreparedDiscard::m_Entries
private

Definition at line 438 of file Cache.h.

◆ m_Lease

OperationBarrier::Lease Cache::PreparedDiscard::m_Lease
private

Definition at line 442 of file Cache.h.

◆ m_TerminationDeferral

TerminationDeferral Cache::PreparedDiscard::m_TerminationDeferral
private

Definition at line 436 of file Cache.h.


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