Expand description
Moving live allocations off outdated pages.
Structs§
- Arena
Shape - What a relocation plan reads of the pools: how many pages the current one has room on, and what the outdated ones hold and keep guarded.
- Arena
State - What a
RelocationTriggerreads of the pools a workload’s allocations are carved from. - Host
Copies - Copies between the allocations of a
BytesStorage: host memory, so a copy is amemcpyand has landed by the time it returns. - Landed
- A
Relocationwhose copies have landed: what the pools commit, and onlyRelocation::copymakes. - Relocation
- Live allocations on outdated pages, each with a slice reserved on a current page to receive it.
- Relocation
Trigger - Decides when a relocation is worth its copies: what the device holds, and how the last relocation went.
- Storage
Copy - One device copy a relocation needs, between two resolved storages of the same size.
Enums§
- Relocation
Need - Whether a relocation is wanted, before the bytes the device holds are known: plain data, so the caller can gather those bytes from every stream without anything borrowed.
- Relocation
Reason - Why a relocation runs, which decides where it may put what it moves.
- Target
Room - Where a relocation may reserve the slices it moves allocations into.
Traits§
- Copy
Queue - Where a relocation’s bytes are copied, and what it waits on.
- Relocatable
Stream - One stream, as relocating its memory needs it: what a runtime whose
streams share one way to finish their work (a scheduler, say) supplies per
stream, leaving the rest of
RelocatingStreamsto that shared way. - Relocating
Streams - A runtime’s streams, as relocating one stream’s memory needs them.