On Thu, Mar 4, 2021 at 2:59 PM Jason Wang [off-list ref] wrote:
On 2021/2/23 7:50 下午, Xie Yongji wrote:
quoted
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