[RFC PATCH v3 0/2] s390x: Improvements to SIGP handling [KVM]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is an update to the handling of SIGP between kernel and userspace.

As before, I'm looking at problems encountered when a SIGP order that is
processed in the kernel (for example, SIGP SENSE) is run concurrently
with another one is processed in userspace (for example, SIGP STOP).
Being able to provide an honest answer in the SIGP SENSE as to whether
the targeted VCPU is/not stopped is important to provide a consistent
answer while a guest OS is bringing its configuration online.

Version 2 of this series instructed the kernel to automatically flag
a vcpu busy for a SIGP order, and provided an IOCTL for userspace to
mark the order as completed (suggested here [1]). But now, the
suggestion is that the kernel shouldn't be marking the vcpu busy,
and userspace should be doing both sides of the operation [2].
So this version has two IOCTLs, tied to one capability.

As with v2, I've left the CAP/IOCTL definitions as a standalone
patch, so I see it easier when working with the QEMU code.
Ultimately this would be squashed together, and might have some
refit after the merge window anyway. 

I'll send the QEMU series shortly, which takes advantage of this.

Thoughts?

[1] https://lore.kernel.org/r/3e3b38d1-b338-0211-04ab-91f913c1f557@xxxxxxxxxx/
[2] https://lore.kernel.org/r/7e98f659-32ac-9b4e-0ddd-958086732c8d@xxxxxxxxxx/

Previous RFCs:
v1: https://lore.kernel.org/r/20211008203112.1979843-1-farman@xxxxxxxxxxxxx/
v2: https://lore.kernel.org/r/20211102194652.2685098-1-farman@xxxxxxxxxxxxx/

Eric Farman (2):
  Capability/IOCTL/Documentation
  KVM: s390: Extend the USER_SIGP capability

 Documentation/virt/kvm/api.rst   | 39 ++++++++++++++++++++++++++++++++
 arch/s390/include/asm/kvm_host.h |  2 ++
 arch/s390/kvm/kvm-s390.c         | 29 ++++++++++++++++++++++++
 arch/s390/kvm/kvm-s390.h         | 16 +++++++++++++
 arch/s390/kvm/sigp.c             | 10 ++++++++
 include/uapi/linux/kvm.h         |  5 ++++
 6 files changed, 101 insertions(+)

-- 
2.25.1




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux