On 4/21/22 18:51, Peter Oskolkov wrote:
Allow kvm-based VMMs to request KVM to pass a custom vmcall from the guest to the VMM in the host. Quite often, operating systems research projects and/or specialized paravirtualized workloads would benefit from a extra-low-overhead, extra-low-latency guest-host communication channel.
You can use a memory page and an I/O port. It should be as fast as a hypercall. You can even change it to use ioeventfd if an asynchronous channel is enough, and then it's going to be less than 1 us latency.
Paolo
With cloud-hypervisor modified to handle the new hypercall (simply return the sum of the received arguments), the following function in guest_userspace_ completes, on average, in 2.5 microseconds (walltime) on a relatively modern Intel Xeon processor: