• Israel Rukshin's avatar
    nvme-rdma: Use mr pool · f41725bb
    Israel Rukshin authored
    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: default avatarIsrael Rukshin <israelr@mellanox.com>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Reviewed-by: default avatarMax Gurtovoy <maxg@mellanox.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    f41725bb
rdma.c 51.4 KB