]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-rdma: Use mr pool
authorIsrael Rukshin <israelr@mellanox.com>
Sun, 26 Nov 2017 10:40:55 +0000 (10:40 +0000)
committerChristoph Hellwig <hch@lst.de>
Sun, 26 Nov 2017 14:33:32 +0000 (15:33 +0100)
commit0bdb7447ff5b4d4613643fc4311c7bc60cc4d407
tree75b1568b766b158c5d4395dc1f3e60826dfab86a
parent19a0e2a7fa21203a7aa5427349b4570a1a5144db
nvme-rdma: Use mr pool

Currently, blk_mq_tagset_iter() iterate over initial hctx tags only.  If
an I/O scheduler is used, it doesn't iterate the hctx scheduler tags and
the static request aren't been updated. For example, while using NVMe
over Fabrics RDMA host, this cause us not to reinit the scheduler
requests and thus not re-register all the memory regions during the
tagset re-initialization in the reconnect flow.

This may lead to a memory registration error:

  "MEMREG for CQE 0xffff88044c14dce8 failed with status memory management operation error (6)"

With this commit we don't need to reinit the requests, and thus fix this
failure.

Signed-off-by: Israel Rukshin <israelr@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/rdma.c