nvmf/rdma: simplify get_optimal_poll_group logic
Use a local variable to hold the qpair count. While here, also use pg_current to get the min_value, this is a bit simpler to read than things like (*pg)->group. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I65771fb469f021e9e77b8a6c117841b8f4b66af5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15694 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
This commit is contained in:
parent
bb926e803d
commit
30020c2ffc
@ -3500,6 +3500,7 @@ nvmf_rdma_get_optimal_poll_group(struct spdk_nvmf_qpair *qpair)
|
|||||||
struct spdk_nvmf_rdma_transport *rtransport;
|
struct spdk_nvmf_rdma_transport *rtransport;
|
||||||
struct spdk_nvmf_rdma_poll_group **pg;
|
struct spdk_nvmf_rdma_poll_group **pg;
|
||||||
struct spdk_nvmf_transport_poll_group *result;
|
struct spdk_nvmf_transport_poll_group *result;
|
||||||
|
uint32_t count;
|
||||||
|
|
||||||
rtransport = SPDK_CONTAINEROF(qpair->transport, struct spdk_nvmf_rdma_transport, transport);
|
rtransport = SPDK_CONTAINEROF(qpair->transport, struct spdk_nvmf_rdma_transport, transport);
|
||||||
|
|
||||||
@ -3517,16 +3518,16 @@ nvmf_rdma_get_optimal_poll_group(struct spdk_nvmf_qpair *qpair)
|
|||||||
pg_min = *pg;
|
pg_min = *pg;
|
||||||
pg_start = *pg;
|
pg_start = *pg;
|
||||||
pg_current = *pg;
|
pg_current = *pg;
|
||||||
min_value = (*pg)->group.group->stat.current_io_qpairs;
|
min_value = pg_current->group.group->stat.current_io_qpairs;
|
||||||
|
|
||||||
while (pg_current->group.group->stat.current_io_qpairs) {
|
while ((count = pg_current->group.group->stat.current_io_qpairs) > 0) {
|
||||||
pg_current = TAILQ_NEXT(pg_current, link);
|
pg_current = TAILQ_NEXT(pg_current, link);
|
||||||
if (pg_current == NULL) {
|
if (pg_current == NULL) {
|
||||||
pg_current = TAILQ_FIRST(&rtransport->poll_groups);
|
pg_current = TAILQ_FIRST(&rtransport->poll_groups);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pg_current->group.group->stat.current_io_qpairs < min_value) {
|
if (count < min_value) {
|
||||||
min_value = pg_current->group.group->stat.current_io_qpairs;
|
min_value = count;
|
||||||
pg_min = pg_current;
|
pg_min = pg_current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user