]> 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)
commitfd7d0c55989d0c858215a848d6bff3a11698fd7c
tree75b1568b766b158c5d4395dc1f3e60826dfab86a
parent764df80718252566a6d595500adabd65a9b42c2a
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