From 7f0c2bf4b4de204029e0a82bf431c8a7233b9dbb Mon Sep 17 00:00:00 2001 From: Dariusz Stojaczyk Date: Mon, 5 Feb 2018 20:58:10 +0100 Subject: [PATCH] virtio: remove virtio_dev_get_status asserts virtio_dev_get_status may result in an MMIO read, which is quite expensive. Removed it to improve performance on debug builds. Change-Id: Ibe2d13ad381f02f8d258d630283c14ce20b7a340 Signed-off-by: Dariusz Stojaczyk Reviewed-on: https://review.gerrithub.io/398468 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Jim Harris --- lib/virtio/virtio.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/virtio/virtio.c b/lib/virtio/virtio.c index 813264764..d22fab93a 100644 --- a/lib/virtio/virtio.c +++ b/lib/virtio/virtio.c @@ -459,8 +459,6 @@ virtqueue_req_start(struct virtqueue *vq, void *cookie, int iovcnt) struct vring_desc *desc; struct vq_desc_extra *dxp; - assert(virtio_dev_get_status(vq->vdev) & VIRTIO_CONFIG_S_DRIVER_OK); - if (iovcnt > vq->vq_free_cnt) { return iovcnt > vq->vq_nentries ? -EINVAL : -ENOMEM; } @@ -571,8 +569,6 @@ virtio_recv_pkts(struct virtqueue *vq, void **io, uint32_t *len, uint16_t nb_pkt { uint16_t nb_used, num; - assert(virtio_dev_get_status(vq->vdev) & VIRTIO_CONFIG_S_DRIVER_OK); - nb_used = VIRTQUEUE_NUSED(vq); virtio_rmb();