nvme: override the default queue depth if users specified the value
SPDK already uses DEFAULT_IO_QUEUE_SIZE and MQES to decide the correct queue depth of NVMe queue pair, hardcoded it to NVME_IO_ENTRIES(512) does not make sense if users want to set queue depth bigger than 512. Change-Id: Iaa73fc79e055292ae9bd19af0c8c12f257ae5c46 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.gerrithub.io/379052 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
29bcd5a90d
commit
8181c59293
@ -1450,8 +1450,6 @@ nvme_ctrlr_construct(struct spdk_nvme_ctrlr *ctrlr)
|
||||
void
|
||||
nvme_ctrlr_init_cap(struct spdk_nvme_ctrlr *ctrlr, const union spdk_nvme_cap_register *cap)
|
||||
{
|
||||
uint32_t max_io_queue_size = nvme_transport_ctrlr_get_max_io_queue_size(ctrlr);
|
||||
|
||||
ctrlr->cap = *cap;
|
||||
|
||||
ctrlr->min_page_size = 1u << (12 + ctrlr->cap.bits.mpsmin);
|
||||
@ -1461,7 +1459,6 @@ nvme_ctrlr_init_cap(struct spdk_nvme_ctrlr *ctrlr, const union spdk_nvme_cap_reg
|
||||
|
||||
ctrlr->opts.io_queue_size = spdk_max(ctrlr->opts.io_queue_size, SPDK_NVME_IO_QUEUE_MIN_ENTRIES);
|
||||
ctrlr->opts.io_queue_size = spdk_min(ctrlr->opts.io_queue_size, ctrlr->cap.bits.mqes + 1u);
|
||||
ctrlr->opts.io_queue_size = spdk_min(ctrlr->opts.io_queue_size, max_io_queue_size);
|
||||
|
||||
ctrlr->opts.io_queue_requests = spdk_max(ctrlr->opts.io_queue_requests, ctrlr->opts.io_queue_size);
|
||||
}
|
||||
|
@ -607,7 +607,6 @@ void nvme_qpair_print_completion(struct spdk_nvme_qpair *qpair, struct spdk_nvme
|
||||
int nvme_ ## name ## _ctrlr_get_reg_4(struct spdk_nvme_ctrlr *ctrlr, uint32_t offset, uint32_t *value); \
|
||||
int nvme_ ## name ## _ctrlr_get_reg_8(struct spdk_nvme_ctrlr *ctrlr, uint32_t offset, uint64_t *value); \
|
||||
uint32_t nvme_ ## name ## _ctrlr_get_max_xfer_size(struct spdk_nvme_ctrlr *ctrlr); \
|
||||
uint32_t nvme_ ## name ## _ctrlr_get_max_io_queue_size(struct spdk_nvme_ctrlr *ctrlr); \
|
||||
uint16_t nvme_ ## name ## _ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr); \
|
||||
struct spdk_nvme_qpair *nvme_ ## name ## _ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid, const struct spdk_nvme_io_qpair_opts *opts); \
|
||||
int nvme_ ## name ## _ctrlr_delete_io_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpair *qpair); \
|
||||
|
@ -44,14 +44,6 @@
|
||||
#define NVME_ADMIN_ENTRIES (128)
|
||||
#define NVME_ADMIN_TRACKERS (64)
|
||||
|
||||
/*
|
||||
* NVME_IO_ENTRIES defines the size of an I/O qpair's submission and completion
|
||||
* queues, this value will be used to negotiate with user specified size and
|
||||
* hardware allowed size to determine the maximum number of outstanding IOs on
|
||||
* an I/O qpair at any time.
|
||||
*/
|
||||
#define NVME_IO_ENTRIES (512)
|
||||
|
||||
/*
|
||||
* NVME_MAX_SGL_DESCRIPTORS defines the maximum number of descriptors in one SGL
|
||||
* segment.
|
||||
@ -398,12 +390,6 @@ nvme_pcie_ctrlr_get_max_xfer_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
return NVME_MAX_PRP_LIST_ENTRIES * ctrlr->page_size;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
nvme_pcie_ctrlr_get_max_io_queue_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
return NVME_IO_ENTRIES;
|
||||
}
|
||||
|
||||
uint16_t
|
||||
nvme_pcie_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
|
@ -57,8 +57,6 @@
|
||||
#define NVME_RDMA_RW_BUFFER_SIZE 131072
|
||||
#define NVME_HOST_ID_DEFAULT "12345679890"
|
||||
|
||||
#define NVME_HOST_MAX_ENTRIES_PER_QUEUE (128)
|
||||
|
||||
/*
|
||||
NVME RDMA qpair Resouce Defaults
|
||||
*/
|
||||
@ -1525,12 +1523,6 @@ nvme_rdma_ctrlr_get_max_xfer_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
return NVME_RDMA_RW_BUFFER_SIZE;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
nvme_rdma_ctrlr_get_max_io_queue_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
return NVME_HOST_MAX_ENTRIES_PER_QUEUE;
|
||||
}
|
||||
|
||||
uint16_t
|
||||
nvme_rdma_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
|
@ -139,12 +139,6 @@ nvme_transport_ctrlr_get_max_xfer_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
NVME_TRANSPORT_CALL(ctrlr->trid.trtype, ctrlr_get_max_xfer_size, (ctrlr));
|
||||
}
|
||||
|
||||
uint32_t
|
||||
nvme_transport_ctrlr_get_max_io_queue_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
NVME_TRANSPORT_CALL(ctrlr->trid.trtype, ctrlr_get_max_io_queue_size, (ctrlr));
|
||||
}
|
||||
|
||||
uint16_t
|
||||
nvme_transport_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
|
@ -115,12 +115,6 @@ nvme_transport_ctrlr_get_max_xfer_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
return UINT32_MAX;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
nvme_transport_ctrlr_get_max_io_queue_size(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
return SPDK_NVME_IO_QUEUE_MAX_ENTRIES;
|
||||
}
|
||||
|
||||
uint16_t
|
||||
nvme_transport_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user