Re: [KVM PATCH v8 3/3] KVM: add iosignalfd support

From: Avi Kivity
Date: Tue Jun 23 2009 - 07:23:55 EST


On 06/23/2009 01:48 PM, Michael S. Tsirkin wrote:
On Tue, Jun 23, 2009 at 12:57:53PM +0300, Avi Kivity wrote:
On 06/23/2009 11:56 AM, Michael S. Tsirkin wrote:
On Thu, Jun 18, 2009 at 08:30:46PM -0400, Gregory Haskins wrote:

+static int
+iosignalfd_group_in_range(struct kvm_io_device *this, gpa_t addr, int len,
+ int is_write)
+{
+ struct _iosignalfd_group *p = to_group(this);
+
+ return ((addr>= p->addr&& (addr< p->addr + p->length)));
+}

I think I see a problem here. For virtio, we do not necessarily want all
virtqueues for a device to live in kernel: there might be control
virtqueues that we want to leave in userspace. Since this claims all
writes to a specific address, the signal never makes it to userspace.

Userspace could create an eventfd for this control queue and wait for it
to fire.

What if guest writes an unexpected value there?
The value it simply lost ... that's not very elegant.

True, it's better to have a lossless interface.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/