From: Bernhard Kaindl <bernhard.kaindl@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Bernhard Kaindl" <bernhard.kaindl@citrix.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Anthony PERARD" <anthony.perard@vates.tech>,
"Michal Orzel" <michal.orzel@amd.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Julien Grall" <julien@xen.org>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Stefano Stabellini" <sstabellini@kernel.org>
Subject: [PATCH 0/3] Sphinx docs: Design Document for NUMA node-affine claim sets
Date: Tue, 5 May 2026 19:03:09 +0100 [thread overview]
Message-ID: <cover.1778004073.git.bernhard.kaindl@citrix.com> (raw)
Dear reviewers,
This updated design document forms the basis of the NUMA claims v7
series and is intended to serve as a reference during review.
It extends Xen's memory claim design to support installing claim sets
spanning multiple NUMA nodes atomically. As Roger Pau Monné suggested:
Ideally, we would need to introduce a new hypercall that allows
making claims from multiple nodes in a single locked region, as
to ensure success or failure in an atomic way.
This design documents that model in detail and is integrated into the
Sphinx site below Hypervisor Guide -> Design Documents -> NUMA Claims.
The rendered design document is available here for review:
https://xen.kaindl.dev/claims-v7-design-master/designs/claims/
The Sphinx site can be built and viewed locally as follows:
git pull git@gitlab.com:bernhardkaindl/xen.git claims-v7-design-master
make -C docs sphinx-env-build # xdg-open docs/sphinx/html/index.html
or start a minimal HTTP server:
(cd docs/sphinx/html; python -m http.server)
Changes since v6
----------------
The review comments from v6 have been incorporated.
In particular, Jan noted that "global" is ambiguous in this context,
and following his suggestion, this series adopts the term host claims
(short for host-wide claims) found here:
https://lists.xen.org/archives/html/xen-devel/2026-05/msg00026.html
The helper names have also been adjusted to make domain scope explicit
and to keep the release/set/get operations named consistently:
- deduct_global_claims() -> domain_release_host_claims()
- deduct_node_claims() -> domain_release_node_claims()
- domain_set_outstanding_pages() -> domain_set_claim_entries()
- new: domain_get_claim_entries()
This version also keeps the new code minimal for review and avoids
functional duplication. domain_set_claim_entries() now also handles
the legacy XENMEM_claim_pages interface for backwards compatibility,
replacing domain_set_outstanding_pages().
Best regards,
Bernhard
Bernhard Kaindl (3):
Sphinx docs: Rearrange the design docs into a new dedicated design
index
Sphinx docs: Enable autosectionlabels and Mermaid support
Sphinx docs: Design Document for NUMA node affine claim sets
.readthedocs.yaml | 2 +-
docs/conf.py | 21 +
docs/{misc => designs}/cache-coloring.rst | 4 +-
docs/designs/claims/accounting.rst | 331 +++++++++++++++
docs/designs/claims/design.rst | 243 +++++++++++
docs/designs/claims/development.rst | 197 +++++++++
docs/designs/claims/implementation.rst | 393 ++++++++++++++++++
docs/designs/claims/index.rst | 48 +++
docs/designs/claims/installation.rst | 70 ++++
docs/designs/claims/invariants.mmd | 35 ++
docs/designs/claims/performance.rst | 33 ++
docs/designs/claims/protection.rst | 200 +++++++++
docs/designs/claims/redeeming.rst | 71 ++++
docs/designs/claims/terminology.rst | 138 ++++++
docs/designs/claims/use-cases.rst | 39 ++
docs/designs/index.rst | 17 +
docs/designs/launch/hyperlaunch.rst | 4 +-
docs/designs/launch/index.rst | 10 +
docs/glossary.rst | 12 +-
.../dom/DOMCTL_claim_memory-data.mmd | 43 ++
.../dom/DOMCTL_claim_memory-seqdia.mmd | 23 +
.../dom/DOMCTL_claim_memory-workflow.mmd | 23 +
docs/guest-guide/dom/DOMCTL_claim_memory.rst | 221 ++++++++++
docs/guest-guide/dom/index.rst | 14 +
docs/guest-guide/index.rst | 23 +
docs/guest-guide/mem/XENMEM_claim_pages.rst | 102 +++++
docs/guest-guide/mem/index.rst | 12 +
docs/hypervisor-guide/index.rst | 12 +-
docs/index.rst | 2 -
29 files changed, 2331 insertions(+), 12 deletions(-)
rename docs/{misc => designs}/cache-coloring.rst (99%)
create mode 100644 docs/designs/claims/accounting.rst
create mode 100644 docs/designs/claims/design.rst
create mode 100644 docs/designs/claims/development.rst
create mode 100644 docs/designs/claims/implementation.rst
create mode 100644 docs/designs/claims/index.rst
create mode 100644 docs/designs/claims/installation.rst
create mode 100644 docs/designs/claims/invariants.mmd
create mode 100644 docs/designs/claims/performance.rst
create mode 100644 docs/designs/claims/protection.rst
create mode 100644 docs/designs/claims/redeeming.rst
create mode 100644 docs/designs/claims/terminology.rst
create mode 100644 docs/designs/claims/use-cases.rst
create mode 100644 docs/designs/index.rst
create mode 100644 docs/designs/launch/index.rst
create mode 100644 docs/guest-guide/dom/DOMCTL_claim_memory-data.mmd
create mode 100644 docs/guest-guide/dom/DOMCTL_claim_memory-seqdia.mmd
create mode 100644 docs/guest-guide/dom/DOMCTL_claim_memory-workflow.mmd
create mode 100644 docs/guest-guide/dom/DOMCTL_claim_memory.rst
create mode 100644 docs/guest-guide/dom/index.rst
create mode 100644 docs/guest-guide/mem/XENMEM_claim_pages.rst
create mode 100644 docs/guest-guide/mem/index.rst
--
2.39.5
next reply other threads:[~2026-05-05 18:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-05 18:03 Bernhard Kaindl [this message]
2026-05-05 18:03 ` [PATCH 1/3] Sphinx docs: Rearrange the design docs into a new dedicated design index Bernhard Kaindl
2026-05-05 18:03 ` [PATCH 2/3] Sphinx docs: Enable autosectionlabels and Mermaid support Bernhard Kaindl
2026-05-05 18:03 ` [PATCH 3/3] Sphinx docs: Design Document for NUMA node affine claim sets Bernhard Kaindl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1778004073.git.bernhard.kaindl@citrix.com \
--to=bernhard.kaindl@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.