nvme: set the qprio when constructing the qpair

Change-Id: Id5b35c023b975cc07fe721e4749bac6a0c803719
Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
GangCao 2016-10-25 21:28:20 -04:00 committed by Daniel Verkamp
parent 91d7bf5d15
commit 075ba523bd
5 changed files with 12 additions and 11 deletions

View File

@ -492,7 +492,8 @@ int nvme_ctrlr_submit_admin_request(struct spdk_nvme_ctrlr *ctrlr,
int nvme_ctrlr_get_cap(struct spdk_nvme_ctrlr *ctrlr, union spdk_nvme_cap_register *cap);
int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
uint16_t num_entries,
struct spdk_nvme_ctrlr *ctrlr);
struct spdk_nvme_ctrlr *ctrlr,
enum spdk_nvme_qprio qprio);
void nvme_qpair_destroy(struct spdk_nvme_qpair *qpair);
void nvme_qpair_enable(struct spdk_nvme_qpair *qpair);
void nvme_qpair_disable(struct spdk_nvme_qpair *qpair);

View File

@ -430,7 +430,8 @@ nvme_pcie_ctrlr_construct_admin_qpair(struct spdk_nvme_ctrlr *ctrlr)
return nvme_qpair_construct(ctrlr->adminq,
0, /* qpair ID */
NVME_ADMIN_ENTRIES,
ctrlr);
ctrlr,
SPDK_NVME_QPRIO_URGENT);
}
static struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(void *devhandle)
@ -1059,9 +1060,6 @@ nvme_pcie_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid,
qpair = &pqpair->qpair;
qpair->id = qid;
qpair->qprio = qprio;
/*
* NVMe spec sets a hard limit of 64K max entries, but
* devices may specify a smaller limit, so we need to check
@ -1069,7 +1067,7 @@ nvme_pcie_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid,
*/
num_entries = nvme_min(NVME_IO_ENTRIES, ctrlr->cap.bits.mqes + 1);
rc = nvme_qpair_construct(qpair, qid, num_entries, ctrlr);
rc = nvme_qpair_construct(qpair, qid, num_entries, ctrlr, qprio);
if (rc != 0) {
free(pqpair);
return NULL;

View File

@ -336,13 +336,14 @@ spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_
int
nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
uint16_t num_entries,
struct spdk_nvme_ctrlr *ctrlr)
struct spdk_nvme_ctrlr *ctrlr,
enum spdk_nvme_qprio qprio)
{
assert(num_entries != 0);
qpair->id = id;
qpair->num_entries = num_entries;
qpair->qprio = 0;
qpair->qprio = qprio;
qpair->ctrlr = ctrlr;
qpair->transport = ctrlr->transport;

View File

@ -177,11 +177,12 @@ static const struct spdk_nvme_transport nvme_ctrlr_ut_transport = {
int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
uint16_t num_entries,
struct spdk_nvme_ctrlr *ctrlr)
struct spdk_nvme_ctrlr *ctrlr,
enum spdk_nvme_qprio qprio)
{
qpair->id = id;
qpair->num_entries = num_entries;
qpair->qprio = 0;
qpair->qprio = qprio;
qpair->ctrlr = ctrlr;
return 0;

View File

@ -223,7 +223,7 @@ prepare_submit_request_test(struct spdk_nvme_qpair *qpair,
ctrlr->transport = &nvme_qpair_ut_transport;
ctrlr->free_io_qids = NULL;
TAILQ_INIT(&ctrlr->active_io_qpairs);
nvme_qpair_construct(qpair, 1, 128, ctrlr);
nvme_qpair_construct(qpair, 1, 128, ctrlr, 0);
ut_fail_vtophys = false;
}