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

Avi Kivity
2009-06-23T11:23:41Z

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