[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.