• Max Gurtovoy's avatar
    nvmet-rdma: use SRQ per completion vector · b0012dd3
    Max Gurtovoy authored
    In order to save resource allocation and utilize the completion
    locality in a better way (compared to SRQ per device that exist today),
    allocate Shared Receive Queues (SRQs) per completion vector. Associate
    each created QP/CQ with an appropriate SRQ according to the queue index.
    This association will reduce the lock contention in the fast path
    (compared to SRQ per device solution) and increase the locality in
    memory buffers. Add new module parameter for SRQ size to adjust it
    according to the expected load. User should make sure the size is >= 256
    to avoid lack of resources. Also reduce the debug level of "last WQE
    reached" event that is raised when a QP is using SRQ during destruction
    process to relief the log.
    Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    b0012dd3
rdma.c 44.6 KB