Messages in this thread | | | Date | Tue, 23 Jun 2009 14:24:35 +0300 | From | Avi Kivity <> | Subject | Re: [KVM PATCH v8 3/3] KVM: add iosignalfd support |
| |
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
| |