On Thu, Mar 4, 2021 at 2:59 PM Jason Wang <[email protected]> wrote:
>
>
> On 2021/2/23 7:50 下午, Xie Yongji wrote:
> > This patch introduces a workqueue to support injecting
> > virtqueue's interrupt asynchronously. This is mainly
> > for performance considerations which makes sure the push()
> > and pop() for used vring can be asynchronous.
>
>
> Do you have pref numbers for this patch?
>
No, I can do some tests for it if needed.
Another problem is the VIRTIO_RING_F_EVENT_IDX feature will be useless
if we call irq callback in ioctl context. Something like:
virtqueue_push();
virtio_notify();
ioctl()
-------------------------------------------------
irq_cb()
virtqueue_get_buf()
The used vring is always empty each time we call virtqueue_push() in
userspace. Not sure if it is what we expected.
Thanks,
Yongji