]> www.infradead.org Git - nvme.git/commit
nvmet-rdma: use sbitmap to replace rsp free list
authorGuixin Liu <kanie@linux.alibaba.com>
Tue, 8 Oct 2024 09:37:08 +0000 (17:37 +0800)
committerKeith Busch <kbusch@kernel.org>
Tue, 8 Oct 2024 20:45:36 +0000 (13:45 -0700)
commit40f0e5dc2f3c866bef3fccf398114b90c6136dfa
tree422ab00cf943191315afabc5e32fe590b4ade1c2
parent782373ba27660ba7d330208cf5509ece6feb4545
nvmet-rdma: use sbitmap to replace rsp free list

We can use sbitmap to manage all the nvmet_rdma_rsp instead of using
free lists and spinlock, and we can use an additional tag to
determine whether the nvmet_rdma_rsp is extra allocated.

In addition, performance has improved:
1. testing environment is local rxe rdma devie and mem-based
backstore device.
2. fio command, test the average 5 times:
fio -filename=/dev/nvme0n1 --ioengine=libaio -direct=1
-size=1G -name=1 -thread -runtime=60 -time_based -rw=read -numjobs=16
-iodepth=128 -bs=4k -group_reporting
3. Before: 241k IOPS, After: 256k IOPS, an increase of about 5%.

Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/target/rdma.c