Commit 7f0c2bf4 authored by Dariusz Stojaczyk's avatar Dariusz Stojaczyk Committed by Jim Harris
Browse files

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: default avatarDariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/398468


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 91f04582
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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();