Thread (56 messages) 56 messages, 3 authors, 2021-03-11

Re: [RFC v4 10/11] vduse: Introduce a workqueue for irq injection

From: Jason Wang <jasowang@redhat.com>
Date: 2021-03-05 03:05:05
Also in: kvm, linux-fsdevel, virtualization

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

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help