|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [LINUX PATCH v2 0/8] Various improvements on runstate and vcpu_time areas + xen_features
Originally worked on for AMD SEV support, but happens to be useful on its own.
>From the hypervisor, updating runstate info (and pv timer area) from
virtual address is expensive. Moreoever, confidential computing (SEV)
can't rely on guest virtual addresses.
Xen 4.18 introduced VCPUOP_register_{runstate,vcpu_time}_phys_area
variants that use physical addresses instead of virtual one, which
can be persistenly mapped on the hypervisor instead of translated
each time.
Also refactor xen_features so that it uses a bitmap instead of one
u8 per feature bit.
CC: Juergen Gross <jgross@xxxxxxxx>
CC: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
CC: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
CC: George Dunlap <gwd@xxxxxxxxxxxxxx>
CC: x86@xxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
Teddy Astie (8):
x86/xen/pv: Don't setup runstate area too early
xen: Refactor xen/features{.c,.h}
xen: Add gpa conversion helpers
x86/xen/time: Correct xen_save_time_memory_area() failure message
x86/xen/time: Clear xen_clock mapping later
x86/xen/time: Mark xen_setup_vsyscall_time_info() __init
x86/xen/time: Use VCPUOP_register_{runstate,vcpu_time}_phys_area when
available
xen/sysfs: Honor cached xen_features instead
arch/x86/include/asm/xen/page.h | 22 ++++++++++++++
arch/x86/xen/enlighten_pv.c | 3 --
arch/x86/xen/time.c | 52 +++++++++++++++++++-------------
drivers/xen/features.c | 11 ++++---
drivers/xen/sys-hypervisor.c | 12 +++-----
drivers/xen/time.c | 24 +++++++++++----
include/xen/arm/page.h | 21 +++++++++++++
include/xen/features.h | 10 +++---
include/xen/interface/features.h | 9 ++++++
include/xen/interface/vcpu.h | 17 +++++++++++
10 files changed, 134 insertions(+), 47 deletions(-)
--
2.56.0
--
Teddy Astie | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |