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