Jason Wang
2021-Mar-05 03:04 UTC
[RFC v4 10/11] vduse: Introduce a workqueue for irq injection
On 2021/3/4 4:58 ??, Yongji Xie wrote:> On Thu, Mar 4, 2021 at 2:59 PM Jason Wang <jasowang at redhat.com> 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.I'm not sure I get the issue. THe used ring should be filled by virtqueue_push() which is done by userspace before? Thanks> > Thanks, > Yongji >