Skip to content

Commit

Permalink
RDMA/rtrs: Change MAX_SESS_QUEUE_DEPTH
Browse files Browse the repository at this point in the history
[ Upstream commit 3a98ea7 ]

Max IB immediate data size is 2^28 (MAX_IMM_PAYL_BITS)
and the minimum chunk size is 4096 (2^12).
Therefore the maximum sess_queue_depth is 65536 (2^16).

Link: https://lore.kernel.org/r/20210528113018.52290-6-jinpu.wang@ionos.com
Signed-off-by: Gioh Kim <gi-oh.kim@ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Gioh Kim authored and gregkh committed Jul 19, 2021
1 parent 4f6a0f3 commit 3159888
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions drivers/infiniband/ulp/rtrs/rtrs-pri.h
Expand Up @@ -47,12 +47,15 @@ enum {
MAX_PATHS_NUM = 128,

/*
* With the size of struct rtrs_permit allocated on the client, 4K
* is the maximum number of rtrs_permits we can allocate. This number is
* also used on the client to allocate the IU for the user connection
* to receive the RDMA addresses from the server.
* Max IB immediate data size is 2^28 (MAX_IMM_PAYL_BITS)
* and the minimum chunk size is 4096 (2^12).
* So the maximum sess_queue_depth is 65536 (2^16) in theory.
* But mempool_create, create_qp and ib_post_send fail with
* "cannot allocate memory" error if sess_queue_depth is too big.
* Therefore the pratical max value of sess_queue_depth is
* somewhere between 1 and 65536 and it depends on the system.
*/
MAX_SESS_QUEUE_DEPTH = 4096,
MAX_SESS_QUEUE_DEPTH = 65536,

RTRS_HB_INTERVAL_MS = 5000,
RTRS_HB_MISSED_MAX = 5,
Expand Down

0 comments on commit 3159888

Please sign in to comment.