nvme: set the qprio when constructing the qpair
Change-Id: Id5b35c023b975cc07fe721e4749bac6a0c803719 Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
parent
91d7bf5d15
commit
075ba523bd
@ -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_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,
|
int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
|
||||||
uint16_t num_entries,
|
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_destroy(struct spdk_nvme_qpair *qpair);
|
||||||
void nvme_qpair_enable(struct spdk_nvme_qpair *qpair);
|
void nvme_qpair_enable(struct spdk_nvme_qpair *qpair);
|
||||||
void nvme_qpair_disable(struct spdk_nvme_qpair *qpair);
|
void nvme_qpair_disable(struct spdk_nvme_qpair *qpair);
|
||||||
|
@ -430,7 +430,8 @@ nvme_pcie_ctrlr_construct_admin_qpair(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
return nvme_qpair_construct(ctrlr->adminq,
|
return nvme_qpair_construct(ctrlr->adminq,
|
||||||
0, /* qpair ID */
|
0, /* qpair ID */
|
||||||
NVME_ADMIN_ENTRIES,
|
NVME_ADMIN_ENTRIES,
|
||||||
ctrlr);
|
ctrlr,
|
||||||
|
SPDK_NVME_QPRIO_URGENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(void *devhandle)
|
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 = &pqpair->qpair;
|
||||||
|
|
||||||
qpair->id = qid;
|
|
||||||
qpair->qprio = qprio;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NVMe spec sets a hard limit of 64K max entries, but
|
* NVMe spec sets a hard limit of 64K max entries, but
|
||||||
* devices may specify a smaller limit, so we need to check
|
* 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);
|
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) {
|
if (rc != 0) {
|
||||||
free(pqpair);
|
free(pqpair);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -336,13 +336,14 @@ spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_
|
|||||||
int
|
int
|
||||||
nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
|
nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
|
||||||
uint16_t num_entries,
|
uint16_t num_entries,
|
||||||
struct spdk_nvme_ctrlr *ctrlr)
|
struct spdk_nvme_ctrlr *ctrlr,
|
||||||
|
enum spdk_nvme_qprio qprio)
|
||||||
{
|
{
|
||||||
assert(num_entries != 0);
|
assert(num_entries != 0);
|
||||||
|
|
||||||
qpair->id = id;
|
qpair->id = id;
|
||||||
qpair->num_entries = num_entries;
|
qpair->num_entries = num_entries;
|
||||||
qpair->qprio = 0;
|
qpair->qprio = qprio;
|
||||||
|
|
||||||
qpair->ctrlr = ctrlr;
|
qpair->ctrlr = ctrlr;
|
||||||
qpair->transport = ctrlr->transport;
|
qpair->transport = ctrlr->transport;
|
||||||
|
@ -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,
|
int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id,
|
||||||
uint16_t num_entries,
|
uint16_t num_entries,
|
||||||
struct spdk_nvme_ctrlr *ctrlr)
|
struct spdk_nvme_ctrlr *ctrlr,
|
||||||
|
enum spdk_nvme_qprio qprio)
|
||||||
{
|
{
|
||||||
qpair->id = id;
|
qpair->id = id;
|
||||||
qpair->num_entries = num_entries;
|
qpair->num_entries = num_entries;
|
||||||
qpair->qprio = 0;
|
qpair->qprio = qprio;
|
||||||
qpair->ctrlr = ctrlr;
|
qpair->ctrlr = ctrlr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -223,7 +223,7 @@ prepare_submit_request_test(struct spdk_nvme_qpair *qpair,
|
|||||||
ctrlr->transport = &nvme_qpair_ut_transport;
|
ctrlr->transport = &nvme_qpair_ut_transport;
|
||||||
ctrlr->free_io_qids = NULL;
|
ctrlr->free_io_qids = NULL;
|
||||||
TAILQ_INIT(&ctrlr->active_io_qpairs);
|
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;
|
ut_fail_vtophys = false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user