[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <876173uu8u.fsf@rustcorp.com.au>
Date: Fri, 05 Jun 2015 05:22:01 +0930
From: Rusty Russell <rusty@...tcorp.com.au>
To: Linhaifeng <haifeng.lin@...wei.com>, netdev@...r.kernel.org
Cc: virtualization@...ts.linux-foundation.org,
"Michael S. Tsirkin" <mst@...hat.com>
Subject: Re: virtio-net: why not always to set avail->flags to VRING_AVAIL_F_NO_INTERRUPT
Linhaifeng <haifeng.lin@...wei.com> writes:
> On 2015/6/4 9:13, Rusty Russell wrote:
>> Linhaifeng <haifeng.lin@...wei.com> 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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists