Module meta

Module meta 

Source
Expand description

Metadata management of frames.

You can picture a globally shared, static, gigantic array of metadata initialized for each frame. Each entry in this array holds the metadata for a single frame. There would be a dedicated small “heap” space in each slot for dynamic metadata. You can store anything as the metadata of a frame as long as it’s Sync.

§Implementation

The slots are placed in the metadata pages mapped to a certain virtual address in the kernel space. So finding the metadata of a frame often comes with no costs since the translation is a simple arithmetic operation.

Modules§

mapping

Structs§

MetaPageMeta
The metadata of frames that holds metadata of frames.
MetaSlot
StoredPageTablePageMeta

Enums§

GetFrameError
The error type for getting the frame from a physical address.
MetaSlotStorage

Constants§

FRAME_METADATA_MAX_ALIGN
The maximum alignment in bytes of the metadata of a frame.
FRAME_METADATA_MAX_SIZE
The maximum number of bytes of the metadata of a frame.
REF_COUNT_MAX
REF_COUNT_UNIQUE
REF_COUNT_UNUSED

Traits§

AnyFrameMeta
Space-holder of the AnyFrameMeta virtual table.

Functions§

get_slot
get_slot_spec
lemma_meta_slot_size
meta_slot_size
size_of_meta_slot