|
The Pedigree Project 0.1
|
#include <LocalApicTlbShootdown.h>
Collaboration diagram for LocalApicTlbMutationGate:Public Types | |
| enum class | State : size_t { Open , ReversibleClosed , TerminalClosed } |
Public Member Functions | |
| bool | tryEnter () |
| bool | leave () |
| bool | closeReversible () |
| bool | closeTerminal () |
| bool | reopen () |
| bool | cancelClose () |
| bool | closed () const |
| bool | reversibleClosed () const |
| bool | terminalClosed () const |
| State | state () const |
| bool | drained () const |
| size_t | active () const |
Private Attributes | |
| Atomic< size_t > | m_State |
| Atomic< size_t > | m_Active |
Admission barrier spanning a page-table mutation and its shootdown.
Closing first and then waiting for drain gives processor retirement a stable point at which no CPU can be between changing a PTE and publishing the corresponding invalidation.
Definition at line 132 of file LocalApicTlbShootdown.h.
|
strong |
Definition at line 134 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 136 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 217 of file LocalApicTlbShootdown.h.
|
inline |
Abandon a close before any processor-control state has changed.
A debugger can interrupt the local processor while it owns an admission lease. In that case drain cannot complete until the interrupted code is resumed, so the failed quiesce attempt must restore admission while that existing lease is still active.
Definition at line 192 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 197 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 162 of file LocalApicTlbShootdown.h.
|
inline |
Permanently reject new mapping mutations. This transition is idempotent.
Definition at line 168 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 213 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 151 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 179 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 201 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 209 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 205 of file LocalApicTlbShootdown.h.
|
inline |
Definition at line 138 of file LocalApicTlbShootdown.h.
|
private |
Definition at line 223 of file LocalApicTlbShootdown.h.
|
private |
Definition at line 222 of file LocalApicTlbShootdown.h.