[PATCH] drm/virtio: kick vq outside of the vq lock
Gerd Hoffmann
kraxel at redhat.com
Fri Aug 2 08:02:45 UTC 2019
> @@ -291,11 +291,9 @@ static int virtio_gpu_queue_ctrl_buffer_locked(struct virtio_gpu_device *vgdev,
> trace_virtio_gpu_cmd_queue(vq,
> (struct virtio_gpu_ctrl_hdr *)vbuf->buf);
>
> - virtqueue_kick(vq);
> + ret = virtqueue_kick_prepare(vq);
> }
>
> - if (!ret)
> - ret = vq->num_free;
Hmm. Change looks unrelated.
On a closer look it seems this is basically dead code.
virtio_gpu_queue_ctrl_buffer_locked is called by
virtio_gpu_queue_ctrl_buffer and virtio_gpu_queue_fenced_ctrl_buffer.
The call sites for these two functions all ignore the return value.
So it is a valid change, but it should go to a separate patch. And
while being at it virtio_gpu_queue_ctrl_buffer and
virtio_gpu_queue_fenced_ctrl_buffer can be changed to return void.
Otherwise the patch looks fine. Nice analysis btw.
cheers,
Gerd
More information about the dri-devel
mailing list