nvme: add weighted round robin supported flags
Change-Id: I4b303e7096dfdd29ef5d39f30223d03c32d20ae1 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466679 Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
2f9d2b811c
commit
6ad44e8be6
@ -31,6 +31,9 @@ it for NVMe controllers. When the option is enabled, the controller will not do
|
|||||||
shutdown process and just disable the controller, users can start their application
|
shutdown process and just disable the controller, users can start their application
|
||||||
later again to initialize the controller to the ready state.
|
later again to initialize the controller to the ready state.
|
||||||
|
|
||||||
|
A controller flag `SPDK_NVME_CTRLR_WRR_SUPPORTED` was added to indicate the controller
|
||||||
|
can support weighted round robin arbitration feature with submission queue.
|
||||||
|
|
||||||
### iSCSI
|
### iSCSI
|
||||||
|
|
||||||
Portals may no longer be associated with a cpumask. The scheduling of
|
Portals may no longer be associated with a cpumask. The scheduling of
|
||||||
|
@ -322,6 +322,7 @@ struct spdk_nvme_host_id {
|
|||||||
enum spdk_nvme_ctrlr_flags {
|
enum spdk_nvme_ctrlr_flags {
|
||||||
SPDK_NVME_CTRLR_SGL_SUPPORTED = 0x1, /**< The SGL is supported */
|
SPDK_NVME_CTRLR_SGL_SUPPORTED = 0x1, /**< The SGL is supported */
|
||||||
SPDK_NVME_CTRLR_SECURITY_SEND_RECV_SUPPORTED = 0x2, /**< security send/receive is supported */
|
SPDK_NVME_CTRLR_SECURITY_SEND_RECV_SUPPORTED = 0x2, /**< security send/receive is supported */
|
||||||
|
SPDK_NVME_CTRLR_WRR_SUPPORTED = 0x4, /**< Weighted Round Robin is supported */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2361,6 +2361,10 @@ nvme_ctrlr_init_cap(struct spdk_nvme_ctrlr *ctrlr, const union spdk_nvme_cap_reg
|
|||||||
ctrlr->cap = *cap;
|
ctrlr->cap = *cap;
|
||||||
ctrlr->vs = *vs;
|
ctrlr->vs = *vs;
|
||||||
|
|
||||||
|
if (ctrlr->cap.bits.ams & SPDK_NVME_CAP_AMS_WRR) {
|
||||||
|
ctrlr->flags |= SPDK_NVME_CTRLR_WRR_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
ctrlr->min_page_size = 1u << (12 + ctrlr->cap.bits.mpsmin);
|
ctrlr->min_page_size = 1u << (12 + ctrlr->cap.bits.mpsmin);
|
||||||
|
|
||||||
/* For now, always select page_size == min_page_size. */
|
/* For now, always select page_size == min_page_size. */
|
||||||
|
Loading…
Reference in New Issue
Block a user