Re: [KVM PATCH v7 3/3] kvm: add iofd support

Avi Kivity
2009-05-14T12:23:08Z

Gregory Haskins wrote:
>>> +#define KVM_IOFD_FLAG_PIO (1 << 1)
>>> +
>>> +struct kvm_iofd {
>>> + __u64 addr;
>>> + __u32 len;
>>> + __u32 fd;
>>> + __u32 flags;
>>> + __u8 pad[12];
>>> +};
>>> +
>>>
>>>
>> Please add a data match capability. virtio uses a write with the data
>> containing the queue ID, and we want a separate event for each queue.
>>
>
> How about "u64 cookie" ?
>

Sure, and a bit in flags to enable it.

>>> * kvm trace categories
>>> @@ -508,6 +519,7 @@ struct kvm_irqfd {
>>> #define KVM_DEASSIGN_DEV_IRQ _IOW(KVMIO, 0x75, struct
>>> kvm_assigned_irq)
>>> #define KVM_ASSIGN_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd)
>>> #define KVM_DEASSIGN_IRQFD _IOW(KVMIO, 0x77, __u32)
>>> +#define KVM_IOFD _IOW(KVMIO, 0x78, struct kvm_iofd)
>>>
>>>
>> Too general a name. It's not doing IO, just sending out notifications.
>>
>
> Hmm...good point. I was trying to reflect "[MM/P]IO-FD". How about
> "IOSIGNALFD"
>

Okay.

>> Why have assign/deassign for irqfd and a single ioctl for iofd?
>>
> Heh.. irqfd "liked" two because the deassign only needed a u32. iofd
> needed more or less the same structure for both so I guess I thought I
> would be "slick" and condense the vectors. Will fix so they are
> symmetrical.
>

Yeah. You could have both use just one, or both use two. Not sure
which is better.

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