KVM: support any-length wildcard ioeventfd
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 31 Mar 2014 18:50:38 +0000 (21:50 +0300)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 17 Apr 2014 17:01:42 +0000 (14:01 -0300)
commitf848a5a8dcb655553423f77cc98909a04e64173d
tree02e212c8eeeb52e74876408bb5e7e5d2febae379
parentcd9ae5fe47dfb9820976c3c38c70f4b07a5a1c36
KVM: support any-length wildcard ioeventfd

It is sometimes benefitial to ignore IO size, and only match on address.
In hindsight this would have been a better default than matching length
when KVM_IOEVENTFD_FLAG_DATAMATCH is not set, In particular, this kind
of access can be optimized on VMX: there no need to do page lookups.
This can currently be done with many ioeventfds but in a suboptimal way.

However we can't change kernel/userspace ABI without risk of breaking
some applications.
Use len = 0 to mean "ignore length for matching" in a more optimal way.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kvm/x86.c
include/uapi/linux/kvm.h
virt/kvm/eventfd.c