Commit 5c366748 authored by Changpeng Liu's avatar Changpeng Liu Committed by Tomasz Zawadzki
Browse files

vhost: rename register_vq_interrupt callback



Register the vring's interrupt fd is part of the process
of vq enablement, here we rename it to enable_vq callback
then we can add more code in the coming patch.

Change-Id: Ie1973440064f1255510982cdf41784e1286b4409
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22735


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
parent 0fd542bc
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1111,8 +1111,11 @@ enable_device_vq(struct spdk_vhost_session *vsession, uint16_t qid)
		}
	}

	if (spdk_interrupt_mode_is_enabled() && backend->register_vq_interrupt) {
		backend->register_vq_interrupt(vsession, q);
	if (backend->enable_vq) {
		rc = backend->enable_vq(vsession, q);
		if (rc) {
			return rc;
		}
	}

	q->packed.packed_ring = packed_ring;
+8 −5
Original line number Diff line number Diff line
@@ -1104,13 +1104,16 @@ _vhost_blk_vq_register_interrupt(void *arg)
	}
}

static void
vhost_blk_vq_register_interrupt(struct spdk_vhost_session *vsession,
				struct spdk_vhost_virtqueue *vq)
static int
vhost_blk_vq_enable(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq)
{
	if (spdk_interrupt_mode_is_enabled()) {
		spdk_thread_send_msg(vsession->vdev->thread, _vhost_blk_vq_register_interrupt, vq);
	}

	return 0;
}

static int
vhost_blk_session_register_no_bdev_interrupts(struct spdk_vhost_blk_session *bvsession)
{
@@ -1581,7 +1584,7 @@ static const struct spdk_vhost_user_dev_backend vhost_blk_user_device_backend =
	.start_session =  vhost_blk_start,
	.stop_session = vhost_blk_stop,
	.alloc_vq_tasks = alloc_vq_task_pool,
	.register_vq_interrupt = vhost_blk_vq_register_interrupt,
	.enable_vq = vhost_blk_vq_enable,
};

static const struct spdk_vhost_dev_backend vhost_blk_device_backend = {
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ struct spdk_vhost_user_dev_backend {
	spdk_vhost_session_fn start_session;
	spdk_vhost_session_fn stop_session;
	int (*alloc_vq_tasks)(struct spdk_vhost_session *vsession, uint16_t qid);
	void (*register_vq_interrupt)(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq);
	int (*enable_vq)(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq);
};

enum vhost_backend_type {