On 16.08.2025 13:19, Bernhard Kaindl wrote:
> Xen supports claiming an amount of memory ahead of allocating it to
> ensure that the memory for the domain is available for allocation.
> 
> On NUMA hosts, the same assurance is needed on a per-NUMA-node basis
> to ensure optimal placement of domain memory on the correct NUMA node:
> 
> Add per-NUMA-node claims and add a new Hypercall to claim memory for
> a domain using XEN_DOMCTL_claim_memory and xc_domain_claim_memory().
> 
> As we will implement multi-node claims as well, we updated the design
> to be flexible for multi-node claims, so that a 2nd series can build
> upon it without changing the hypercall API.
> 
> Bernhard Kaindl (6):
>   xen/page_alloc: Simplify domain_adjust_tot_pages for future changes
>   xen: New API to claim memory for a domain using XEN_DOMCTL_claim_memory
> 
> Alejandro Vallejo (1):
>   xen/page_alloc: Remove `claim` from domain_set_outstanding_pages()
> 
> Alejandro Vallejo and Bernhard Kaindl (5):
>   xen/page_alloc: Add static per-NUMA-node counts of free pages
>   xen: Add node argument to
>     domain_{adjust_tot_pages,set_outstanding_pages}()
>   xen/page_alloc.c: Create per-node outstanding claims
>   xen/page_alloc: Check per-node claims in alloc_heap_pages()
> 
>  tools/flask/policy/modules/dom0.te  |   1 +
>  tools/flask/policy/modules/xen.if   |   1 +
>  tools/include/xenctrl.h             |   4 +
>  tools/libs/ctrl/xc_domain.c         |  42 ++++++++
>  tools/ocaml/libs/xc/xenctrl.ml      |   9 ++
>  tools/ocaml/libs/xc/xenctrl.mli     |   9 ++
>  tools/ocaml/libs/xc/xenctrl_stubs.c |  21 ++++
>  xen/arch/x86/mm.c                   |   3 +-
>  xen/arch/x86/mm/mem_sharing.c       |   4 +-
>  xen/common/domain.c                 |  32 +++++-
>  xen/common/domctl.c                 |   8 ++
>  xen/common/grant_table.c            |   4 +-
>  xen/common/memory.c                 |   6 +-
>  xen/common/page_alloc.c             | 154 ++++++++++++++++++++++------
>  xen/include/public/domctl.h         |  17 +++
>  xen/include/xen/domain.h            |   2 +
>  xen/include/xen/mm.h                |   6 +-
>  xen/include/xen/sched.h             |   1 +
>  xen/xsm/flask/hooks.c               |   3 +
>  xen/xsm/flask/policy/access_vectors |   2 +
>  20 files changed, 285 insertions(+), 44 deletions(-)

Having looked at only patch 1 so far, it already becomes clear that revision
information is lacking here. This is more important than usual for this series
because (a) a patch with a pretty similar title as patch 1 here has was
submitted by (and meanwhile committed for) Alejandro and (b) you picked up
earlier work by him. In fact I first thought you lost his S-o-b on patch 1.
That would have been easily clarified by indicating in the patch that it is
new in v2.

Jan

Reply via email to