Re: [PATCH V5 4/6] vhost_vdpa: implement IRQ offloading in vhost_vdpa
From: Zhu, Lingshan <hidden>
Date: 2020-08-05 08:12:49
Also in:
kvm
From: Zhu, Lingshan <hidden>
Date: 2020-08-05 08:12:49
Also in:
kvm
On 8/5/2020 4:06 PM, Jason Wang wrote:
On 2020/7/31 下午2:55, Zhu Lingshan wrote:quoted
+static void vhost_vdpa_setup_vq_irq(struct vhost_vdpa *v, u16 qid) +{ + struct vhost_virtqueue *vq = &v->vqs[qid]; + const struct vdpa_config_ops *ops = v->vdpa->config; + struct vdpa_device *vdpa = v->vdpa; + int ret, irq; + + spin_lock(&vq->call_ctx.ctx_lock); + irq = ops->get_vq_irq(vdpa, qid);Btw, this assumes that get_vq_irq is mandatory. This looks wrong since there's no guarantee that the vDPA device driver can see irq. And this break vdpa simulator. Let's add a check and make it optional by document this assumption in the vdpa.h.
fix soon. Thanks!
Thanksquoted
+ if (!vq->call_ctx.ctx || irq < 0) { + spin_unlock(&vq->call_ctx.ctx_lock); + return; + } +