Re: virtio-net: why not always to set avail->flags to VRING_AVAIL_F_NO_INTERRUPT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linhaifeng <haifeng.lin@xxxxxxxxxx> writes:
> On 2015/6/4 9:13, Rusty Russell wrote:
>> Linhaifeng <haifeng.lin@xxxxxxxxxx> writes:
>>> Hi,
>>>
>>> I'm a newbie and have a question about vring_new_virtqueue function.
>>>
>>> Why we set avail->flags to VRING_AVAIL_F_NO_INTERRUPT when no callbacks?
>>> I think we should set avail->flags to VRING_AVAIL_F_NO_INTERRUPT even if no callbacks.
>> 
>> Hi Linhaifeng,
>> 
>>         Not sure I understand your question, but I'll try to answer.
>> 
>> We don't set VRING_AVAIL_F_NO_INTERRUPT if there's a callback because we
>> want that callback called.  Otherwise callback will never be used.
>> 
>> Cheers,
>> Rusty.
>> 
>> 
>
> Hi Rusty,
>
> Thank you for your response.
>
> I mean should we set VRING_AVAIL_F_NO_INTERRUPT when virtqueue is initialized whether there is callback or not?
> As it would be set in function virtqueue_disable_cb and virtqueue_enable_cb_prepare later.

You're right, the callers could virtqueue_enable() specifically, but
I think most callers will want the virtqueue enabled immediately.

And remember, the VRING_AVAIL_F_NO_INTERRUPT is just a *hint*: the
device is allows to ignore it (this can happen due to race conditions,
for example).

Thanks,
Rusty.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux