ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation::memory::pmm::frame_desc Struct Referenceexport

Compact per-physical-frame metadata record. More...

Public Member Functions

auto load_flags (std::memory_order mo=std::memory_order::acquire) const noexcept -> u8
 Atomically read flags.
auto or_flags (u8 bits) noexcept -> void
 Atomically OR bits into flags (used for MCCK ff_offline / ff_suspect).
auto order () const noexcept -> u8
auto owner () const noexcept -> frame_owner
auto set (u8 o, frame_owner ow, u8 numa=0, u8 fl=ff_none) noexcept -> void
 Initialize all fields in one call.
auto set_order (u8 o) noexcept -> void
auto set_owner (frame_owner ow) noexcept -> void
auto store_flags (u8 val, std::memory_order mo=std::memory_order::release) noexcept -> void
 Atomically write flags (used by set() and paths that already hold the zone lock).

Data Fields

u8 _r0 {0}
u16 _r1 {0}
std::atomic< u8 > flags {0}
u8 numa_node {0}
 NUMA node that owns this frame for free, rollback, and PCP placement.
std::atomic< u32 > object_generation {0}
 SCOMS generation paired with object_id.
std::atomic< u32 > object_id {scoms::kobject::KOBJECT_ID_INVALID}
std::atomic< u8 > order_owner {0}
std::atomic< u16 > refcount {0}
 Accessed exclusively via __atomic* builtins in pmm.cxxm.

Detailed Description

Compact per-physical-frame metadata record.

Member Function Documentation

◆ set()

auto zxfoundation::memory::pmm::frame_desc::set ( u8 o,
frame_owner ow,
u8 numa = 0,
u8 fl = ff_none )->void
inlineexportnoexcept

Initialize all fields in one call.

Parameters
[in]oBuddy order (0–MAX_ORDER).
[in]owOwning subsystem.
[in]numaOwning NUMA node for allocator free, rollback, and local-cache policy.
[in]flInitial frame_flags bitmask.

The documentation for this struct was generated from the following file: