From 5edb8edca752e45db74f34fb16ce5ffe8677f89d Mon Sep 17 00:00:00 2001 From: Or Gerlitz Date: Wed, 9 Mar 2022 17:43:37 +0200 Subject: [PATCH] nvmf/rdma: use LIFO practice for incoming queue To maximize cache locality, use lifo and not fifo when managing objects which are used per IO such as the RDMA receive elements queue. Change-Id: Id8917558acc1bec29943fcbae6afe6b072bde6ac Reported-by: Jim Harris Signed-off-by: Or Gerlitz Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12272 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris --- lib/nvmf/rdma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 8e1ee3a75..0a3c7e721 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -4105,7 +4105,7 @@ nvmf_rdma_poller_poll(struct spdk_nvmf_rdma_transport *rtransport, rqpair->current_recv_depth++; rdma_recv->receive_tsc = poll_tsc; rpoller->stat.requests++; - STAILQ_INSERT_TAIL(&rqpair->resources->incoming_queue, rdma_recv, link); + STAILQ_INSERT_HEAD(&rqpair->resources->incoming_queue, rdma_recv, link); break; case RDMA_WR_TYPE_DATA: rdma_req = SPDK_CONTAINEROF(rdma_wr, struct spdk_nvmf_rdma_request, data.rdma_wr);