Domain subsystem types — the central DGP entity, its strands, and its asynchronous signal mechanism. More...
import std;import lib.rbtree;import lib.error;import arch.s390x.sched.types;import arch.s390x.mmu.types;import zxfoundation.base.types;import arch.s390x.cpu.aste.consts;import zxfoundation.base.typestate;import zxfoundation.scoms.kobject.base;import lib.list;import zxfoundation.memory.vm.types;import zxfoundation.sched.entity;import zxfoundation.sched.rt.bandwidth;import zxfoundation.sync.qspinlock.core;import zxfoundation.dgp.sync_contract;import zxfoundation.sched.cbs.core;import zxfoundation.dgp.signal.types;import zxfoundation.sched.policy;import zxfoundation.sched.sd.types;import zxfoundation.dgp.isolation.types;import zxfoundation.sched.nohz.core;Go to the source code of this file.
Data Structures | |
| struct | zxfoundation::dgp::domain::domain |
| The domain struct — the central entity of the DGP kernel. More... | |
| struct | zxfoundation::dgp::domain::strand |
| Strand — the DGP kernel's unit of schedulable execution. More... | |
| struct | zxfoundation::dgp::domain::strand_body |
| Cold-field body for a strand. More... | |
| struct | zxfoundation::dgp::domain::strand_create_request |
| Request used to create a secondary strand inside a domain. More... | |
Enumerations | |
| enum class | zxfoundation::dgp::domain::domain_flags : u32 { none = 0 , idle = 1U << 1 , need_resched = 1U << 2 , nucleus = 1U << 3 } |
| Per-domain flags (bitfield). More... | |
| enum class | zxfoundation::dgp::domain::strand_flags : u8 { none = 0 , idle = 1U << 0 } |
| Per-strand flags (bitfield, stored in strand::flags). More... | |
Functions | |
| auto | zxfoundation::dgp::domain::is_active_domain (const domain &d) noexcept -> bool |
| auto | zxfoundation::dgp::domain::is_idle_domain (const domain &d) noexcept -> bool |
| auto | zxfoundation::dgp::domain::is_idle_strand (const strand &s) noexcept -> bool |
| Check whether a strand is an idle (per-CPU) strand. | |
| constexpr auto | zxfoundation::dgp::domain::operator! (domain_flags f) noexcept -> bool |
| constexpr auto | zxfoundation::dgp::domain::operator& (domain_flags a, domain_flags b) noexcept -> domain_flags |
| constexpr auto | zxfoundation::dgp::domain::operator& (strand_flags a, strand_flags b) noexcept -> strand_flags |
| constexpr auto | zxfoundation::dgp::domain::operator&= (domain_flags &a, domain_flags b) noexcept -> domain_flags & |
| constexpr auto | zxfoundation::dgp::domain::operator&= (strand_flags &a, strand_flags b) noexcept -> strand_flags & |
| constexpr auto | zxfoundation::dgp::domain::operator| (domain_flags a, domain_flags b) noexcept -> domain_flags |
| Must match TIF_NEED_RESCHED = 4 in arch/s390x/trap/entry.S. | |
| constexpr auto | zxfoundation::dgp::domain::operator| (strand_flags a, strand_flags b) noexcept -> strand_flags |
| constexpr auto | zxfoundation::dgp::domain::operator|= (domain_flags &a, domain_flags b) noexcept -> domain_flags & |
| constexpr auto | zxfoundation::dgp::domain::operator|= (strand_flags &a, strand_flags b) noexcept -> strand_flags & |
| constexpr auto | zxfoundation::dgp::domain::operator~ (domain_flags f) noexcept -> domain_flags |
Variables | |
| constexpr domain_id | zxfoundation::dgp::domain::DOMAIN_ID_INVALID = 0xFFFF'FFFFU |
| Sentinel value: no domain. | |
| constexpr domain_id | zxfoundation::dgp::domain::DOMAIN_ID_NUCLEUS = 0U |
| The nucleus itself is always domain 0. | |
| constexpr u32 | zxfoundation::dgp::domain::MAX_DOMAINS = 256U |
| Maximum number of domains in the system. | |
| constexpr u32 | zxfoundation::dgp::domain::MAX_STRANDS_PER_DOMAIN = 64U |
| Maximum strands per domain. | |
| constexpr u8 | zxfoundation::dgp::domain::SKEY_NUCLEUS = 0U |
| Key 0 = nucleus. | |
| constexpr u8 | zxfoundation::dgp::domain::SKEY_USER_BASE = 8U |
| First user-assignable storage key. | |
| constexpr u8 | zxfoundation::dgp::domain::SKEY_USER_MAX = 15U |
| Last user-assignable storage key. | |
| constexpr strand_id | zxfoundation::dgp::domain::STRAND_ID_INVALID = 0xFFFF'FFFFU |
| Sentinel value: no strand. | |
Domain subsystem types — the central DGP entity, its strands, and its asynchronous signal mechanism.
SPDX-License-Identifier: Apache-2.0
|
exportstrong |
|
exportstrong |