From: "Petr Beneš" <w1benny@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: "Petr Beneš" <w1benny@gmail.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"George Dunlap" <george.dunlap@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Nick Rosbrook" <rosbrookn@gmail.com>,
"Anthony PERARD" <anthony@xenproject.org>,
"Juergen Gross" <jgross@suse.com>,
"Julien Grall" <julien@xen.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Tamas K Lengyel" <tamas@tklengyel.com>,
"Alexandru Isaila" <aisaila@bitdefender.com>,
"Petre Pircalabu" <ppircalabu@bitdefender.com>,
"Christian Lindig" <christian.lindig@citrix.com>,
"David Scott" <dave@recoil.org>
Subject: [PATCH for-4.19? v4 0/6] x86: Make MAX_ALTP2M configurable
Date: Sat, 18 May 2024 11:02:11 +0000 [thread overview]
Message-ID: <cover.1716029860.git.w1benny@gmail.com> (raw)
From: Petr Beneš <w1benny@gmail.com>
This series introduces the ability to configure the maximum number of altp2m
tables during domain creation. Previously, the limits were hardcoded to a
maximum of 10. This change allows for greater flexibility in environments that
require more or fewer altp2m views.
Adjustments include:
- "Prepare" commits with style changes.
- Adding a new `altp2m_count` parameter to xl.
- Adding a new `altp2m_count` parameter to the OCaml bindings.
- Adding a new `altp2m_count` parameter to the xl.cfg manual.
- Adding a new `nr_altp2m` field into the `xen_domctl_createdomain`, which,
after sanity checks, is stored in newly introduced `nr_altp2m` field of
`struct domain` - leaving room for other architectures to implement the
altp2m feature.
- Replacing MAX_ALTP2M macro occurrences with `domain->nr_altp2m`.
This enhancement is particularly relevant for users leveraging Xen's features
for virtual machine introspection.
Changes since v2:
- Changed max_altp2m to nr_altp2m.
- Moved arch-dependent check from xen/common/domain.c to xen/arch/x86/domain.c.
- Replaced min(d->nr_altp2m, MAX_EPTP) occurences for just d->nr_altp2m.
- Replaced array_index_nospec(altp2m_idx, ...) for just altp2m_idx.
- Shortened long lines.
- Removed unnecessary comments in altp2m_vcpu_initialise/destroy.
- Moved nr_altp2m field after max_ fields in xen_domctl_createdomain.
- Removed the commit that adjusted the initial allocation of pages from 256
to 1024. This means that after these patches, technically, the nr_altp2m will
be capped to (256 - 1 - vcpus - MAX_NESTEDP2M) instead of MAX_EPTP (512).
Future work will be needed to fix this.
Changes since v3:
- Rebased on top of staging (some functions were moved to altp2m.c).
- Re-added the array_index_nospec() where it was removed.
Petr Beneš (6):
x86/p2m: Add braces for better code clarity
tools/xl: Add altp2m_count parameter
docs/man: Add altp2m_count parameter to the xl.cfg manual
x86: Make the maximum number of altp2m views configurable
tools/libxl: Activate the altp2m_count feature
tools/ocaml: Add altp2m_count parameter
docs/man/xl.cfg.5.pod.in | 14 +++++
tools/golang/xenlight/helpers.gen.go | 2 +
tools/golang/xenlight/types.gen.go | 1 +
tools/include/libxl.h | 8 +++
tools/libs/light/libxl_create.c | 10 +++
tools/libs/light/libxl_types.idl | 1 +
tools/ocaml/libs/xc/xenctrl.ml | 1 +
tools/ocaml/libs/xc/xenctrl.mli | 1 +
tools/ocaml/libs/xc/xenctrl_stubs.c | 11 ++--
tools/xl/xl_parse.c | 4 ++
xen/arch/x86/domain.c | 12 ++++
xen/arch/x86/hvm/hvm.c | 8 ++-
xen/arch/x86/hvm/vmx/vmx.c | 2 +-
xen/arch/x86/include/asm/domain.h | 7 +--
xen/arch/x86/include/asm/p2m.h | 6 +-
xen/arch/x86/mm/altp2m.c | 91 +++++++++++++++++-----------
xen/arch/x86/mm/hap/hap.c | 6 +-
xen/arch/x86/mm/mem_access.c | 24 ++++----
xen/arch/x86/mm/mem_sharing.c | 2 +-
xen/arch/x86/mm/p2m-ept.c | 12 ++--
xen/arch/x86/mm/p2m.c | 12 ++--
xen/common/domain.c | 1 +
xen/include/public/domctl.h | 5 +-
xen/include/xen/sched.h | 2 +
24 files changed, 169 insertions(+), 74 deletions(-)
--
2.34.1
next reply other threads:[~2024-05-18 11:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-18 11:02 Petr Beneš [this message]
2024-05-18 11:02 ` [PATCH for-4.19? v4 1/6] x86/p2m: Add braces for better code clarity Petr Beneš
2024-05-20 8:31 ` Roger Pau Monné
2024-05-18 11:02 ` [PATCH for-4.19? v4 2/6] tools/xl: Add altp2m_count parameter Petr Beneš
2024-05-18 11:02 ` [PATCH for-4.19? v4 3/6] docs/man: Add altp2m_count parameter to the xl.cfg manual Petr Beneš
2024-05-18 11:02 ` [PATCH for-4.19? v4 4/6] x86: Make the maximum number of altp2m views configurable Petr Beneš
2024-05-20 8:25 ` Roger Pau Monné
2024-05-21 10:59 ` Jan Beulich
2024-05-26 23:55 ` Petr Beneš
2024-05-27 6:19 ` Jan Beulich
2024-05-29 19:20 ` Petr Beneš
2024-05-18 11:02 ` [PATCH for-4.19? v4 5/6] tools/libxl: Activate the altp2m_count feature Petr Beneš
2024-05-18 11:02 ` [PATCH for-4.19? v4 6/6] tools/ocaml: Add altp2m_count parameter Petr Beneš
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.1716029860.git.w1benny@gmail.com \
--to=w1benny@gmail.com \
--cc=aisaila@bitdefender.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony@xenproject.org \
--cc=christian.lindig@citrix.com \
--cc=dave@recoil.org \
--cc=george.dunlap@citrix.com \
--cc=jbeulich@suse.com \
--cc=jgross@suse.com \
--cc=julien@xen.org \
--cc=ppircalabu@bitdefender.com \
--cc=roger.pau@citrix.com \
--cc=rosbrookn@gmail.com \
--cc=sstabellini@kernel.org \
--cc=tamas@tklengyel.com \
--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.