From 42b47742de349ba96c0f629321ba0cc19e030b7b Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Wed, 24 Mar 2021 13:17:24 -0700 Subject: [PATCH] nvme/tcp: Only flush socket if not part of poll group If the qpair is part of a poll group, the socket will get flushed as part of polling that group already. We only need to explicitly flush to handle the case where the qpair is not in a poll group. Signed-off-by: Ben Walker Change-Id: Ib2a510b6d26d1622950437d81e0a40f6b15d6b54 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7049 Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris Community-CI: Mellanox Build Bot --- lib/nvme/nvme_tcp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/nvme/nvme_tcp.c b/lib/nvme/nvme_tcp.c index 17c9ca88b..95b293c19 100644 --- a/lib/nvme/nvme_tcp.c +++ b/lib/nvme/nvme_tcp.c @@ -1661,9 +1661,11 @@ nvme_tcp_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_c uint32_t reaped; int rc; - rc = spdk_sock_flush(tqpair->sock); - if (rc < 0) { - return rc; + if (qpair->poll_group == NULL) { + rc = spdk_sock_flush(tqpair->sock); + if (rc < 0) { + return rc; + } } if (max_completions == 0) {