From 30020c2ffc17fbb626c2bcd7ef007fbc78ca32b2 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Thu, 24 Nov 2022 20:51:39 +0000 Subject: [PATCH] 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 Change-Id: I65771fb469f021e9e77b8a6c117841b8f4b66af5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15694 Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Tomasz Zawadzki Reviewed-by: Ben Walker Reviewed-by: Konrad Sztyber --- lib/nvmf/rdma.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index b035ada29..b5aa84520 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -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_poll_group **pg; struct spdk_nvmf_transport_poll_group *result; + uint32_t count; 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_start = *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); if (pg_current == NULL) { pg_current = TAILQ_FIRST(&rtransport->poll_groups); } - if (pg_current->group.group->stat.current_io_qpairs < min_value) { - min_value = pg_current->group.group->stat.current_io_qpairs; + if (count < min_value) { + min_value = count; pg_min = pg_current; }