From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [PATCH for-4.20 0/4] x86: FPU handling cleanup
Date: Tue, 9 Jul 2024 16:52:19 +0100 [thread overview]
Message-ID: <cover.1720538832.git.alejandro.vallejo@cloud.com> (raw)
I want to eventually reach a position in which the FPU state can be allocated
from the domheap and hidden via the same core mechanism proposed in Elias'
directmap removal series. Doing so is complicated by the presence of 2 aliased
pointers (v->arch.fpu_ctxt and v->arch.xsave_area) and the rather complicated
semantics of vcpu_setup_fpu(). This series tries to simplify the code so moving
to a "map/modify/unmap" model is more tractable.
Patches 1 and 2 are trivial refactors.
Patch 3 unifies FPU state so an XSAVE area is allocated per vCPU regardless of
the host supporting it or not. The rationale is that the memory savings are
negligible and not worth the extra complexity.
Patch 4 is a non-trivial split of the vcpu_setup_fpu() into 2 separate
functions. One to override x87/SSE state, and another to set a reset state.
Alejandro Vallejo (4):
x86/xstate: Use compression check helper in xstate_all()
x86/fpu: Create a typedef for the x87/SSE area inside "struct
xsave_struct"
x86/fpu: Combine fpu_ctxt and xsave_area in arch_vcpu
x86/fpu: Split fpu_setup_fpu() in two
xen/arch/x86/domain.c | 7 ++-
xen/arch/x86/domctl.c | 3 +-
xen/arch/x86/hvm/emulate.c | 5 +-
xen/arch/x86/hvm/hvm.c | 22 +++++---
xen/arch/x86/i387.c | 93 ++++++++-----------------------
xen/arch/x86/include/asm/domain.h | 7 +--
xen/arch/x86/include/asm/i387.h | 27 +++++++--
xen/arch/x86/include/asm/xstate.h | 17 +++---
xen/arch/x86/x86_emulate/blk.c | 3 +-
xen/arch/x86/xstate.c | 15 +++--
10 files changed, 90 insertions(+), 109 deletions(-)
--
2.34.1
next reply other threads:[~2024-07-09 15:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-09 15:52 Alejandro Vallejo [this message]
2024-07-09 15:52 ` [PATCH for-4.20 1/4] x86/xstate: Use compression check helper in xstate_all() Alejandro Vallejo
2024-07-18 11:20 ` Jan Beulich
2024-07-09 15:52 ` [PATCH for-4.20 2/4] x86/fpu: Create a typedef for the x87/SSE area inside "struct xsave_struct" Alejandro Vallejo
2024-07-18 11:23 ` Jan Beulich
2024-07-18 15:54 ` Alejandro Vallejo
2024-07-09 15:52 ` [PATCH for-4.20 3/4] x86/fpu: Combine fpu_ctxt and xsave_area in arch_vcpu Alejandro Vallejo
2024-07-18 11:49 ` Jan Beulich
2024-07-18 16:54 ` Alejandro Vallejo
2024-07-19 9:14 ` Jan Beulich
2024-08-07 14:41 ` Alejandro Vallejo
2024-07-09 15:52 ` [PATCH for-4.20 4/4] x86/fpu: Split fpu_setup_fpu() in two Alejandro Vallejo
2024-07-18 12:19 ` Jan Beulich
2024-07-18 17:25 ` Alejandro Vallejo
2024-07-19 9:24 ` Jan Beulich
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.1720538832.git.alejandro.vallejo@cloud.com \
--to=alejandro.vallejo@cloud.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=roger.pau@citrix.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.