OSDN Git Service

RDMA/cma: Refactor the inbound/outbound path records process flow
authorMark Zhang <markzhang@nvidia.com>
Wed, 4 Jan 2023 08:03:41 +0000 (10:03 +0200)
committerLeon Romanovsky <leon@kernel.org>
Tue, 10 Jan 2023 08:49:50 +0000 (10:49 +0200)
commitccae0447af0e471426beea789a52b2b6605663e0
tree7077423578cebd1540ae94db10f0176a9a5af1ba
parent8d037973d48c026224ab285e6a06985ccac6f7bf
RDMA/cma: Refactor the inbound/outbound path records process flow

Refactors based on comments [1] of the multiple path records support
patchset:
- Return failure if not able to set inbound/outbound PRs;
- Simplify the flow when receiving the PRs from netlink channel: When
  a good PR response is received, unpack it and call the path_query
  callback directly. This saves two memory allocations;
- Define RDMA_PRIMARY_PATH_MAX_REC_NUM in a proper place.

[1] https://lore.kernel.org/linux-rdma/Yyxp9E9pJtUids2o@nvidia.com/

Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org> #srp
Link: https://lore.kernel.org/r/7610025d57342b8b6da0f19516c9612f9c3fdc37.1672819376.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/core/cma.c
drivers/infiniband/core/sa_query.c
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/srp/ib_srp.c
include/rdma/ib_sa.h
include/rdma/rdma_cm.h