|
The Pedigree Project 0.1
|
#include <LocalApicTlbShootdown.h>
Collaboration diagram for LocalApicProcessorControlOwner:Public Member Functions | |
| bool | tryAcquire (size_t processor) |
| bool | ownedBy (size_t processor) const |
| bool | activeBy (size_t processor) const |
| bool | markQuiesced (size_t processor) |
| bool | claimQuiesced (size_t processor) |
| bool | claimAnyQuiesced (size_t processor) |
| bool | claimAnyFailed (size_t processor) |
| bool | quiescedBy (size_t processor) const |
| bool | markTerminal (size_t processor) |
| bool | claimTerminal (size_t processor) |
| bool | terminalBy (size_t processor) const |
| bool | markFailed (size_t processor) |
| bool | failedBy (size_t processor) const |
| bool | release (size_t processor) |
| bool | owned () const |
Static Public Attributes | |
| static constexpr size_t | MaxProcessors = 64 |
Private Attributes | |
| Atomic< size_t > | m_State |
Static Private Attributes | |
| static constexpr size_t | QuiescedBit = size_t(1) << (sizeof(size_t) * 8 - 1) |
| static constexpr size_t | TerminalBit = QuiescedBit >> 1 |
| static constexpr size_t | FailedBit = TerminalBit >> 1 |
| static constexpr size_t | PhaseMask = QuiescedBit | TerminalBit | FailedBit |
Serialises processor-control state and mutation-gate ownership.
The phase bits are part of the same atomic word as the owning processor, so no caller can observe a successful quiesce as ownerless between operations.
Definition at line 22 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 26 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 36 of file LocalApicTlbShootdown.h.
|
inline |
Adopt an operation which returned only after its last barrier access.
Definition at line 67 of file LocalApicTlbShootdown.h.
|
inline |
Adopt a completed reversible pause for irreversible terminal control.
Definition at line 51 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 45 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 91 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 105 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 100 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 40 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 86 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 113 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 32 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 82 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 109 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 96 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 28 of file LocalApicTlbShootdown.h.
|
staticconstexprprivate |
Definition at line 120 of file LocalApicTlbShootdown.h.
|
private |
Definition at line 122 of file LocalApicTlbShootdown.h.
|
staticconstexpr |
Definition at line 24 of file LocalApicTlbShootdown.h.
|
staticconstexprprivate |
Definition at line 121 of file LocalApicTlbShootdown.h.
|
staticconstexprprivate |
Definition at line 118 of file LocalApicTlbShootdown.h.
|
staticconstexprprivate |
Definition at line 119 of file LocalApicTlbShootdown.h.