Skip to content

Convert CM to bitmaps

Leon Romanovsky linux-rdma 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest43 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/43RDMA/cm: Add naive SET/GET implementations to hide CM wire formatdrivers/infiniband/core/cm_msgs.h+71 -03 replies
2/43RDMA/cm: Request For Communication (REQ) message definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h drivers/infiniband/core/cma.c +1 more+102 -50 replies
3/43RDMA/cm: Message Receipt Acknowledgment (MRA) message definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+14 -40 replies
4/43RDMA/cm: Reject (REJ) message definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h drivers/infiniband/core/cma.c +1 more+21 -80 replies
5/43RDMA/cm: Reply To Request for communication (REP) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h drivers/infiniband/core/cma.c +1 more+36 -50 replies
6/43RDMA/cm: Ready To Use (RTU) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+10 -40 replies
7/43RDMA/cm: Request For Communication Release (DREQ) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+12 -40 replies
8/43RDMA/cm: Reply To Request For Communication Release (DREP) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+10 -40 replies
9/43RDMA/cm: Load Alternate Path (LAP) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+38 -40 replies
10/43RDMA/cm: Alternate Path Response (APR) message definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h include/rdma/ib_cm.h+21 -60 replies
11/43RDMA/cm: Service ID Resolution Request (SIDR_REQ) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h drivers/infiniband/core/cma.c +1 more+13 -60 replies
12/43RDMA/cm: Service ID Resolution Response (SIDR_REP) definitionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h drivers/infiniband/core/cma.c +1 more+24 -110 replies
13/43RDMA/cm: Convert QPN and EECN to be u32 variablesdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+35 -840 replies
14/43RDMA/cm: Convert REQ responded resources to the new schemedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+4 -150 replies
15/43RDMA/cm: Convert REQ initiator depth to the new schemedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -160 replies
16/43RDMA/cm: Convert REQ remote response timeoutdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -160 replies
17/43RDMA/cm: Simplify QP type to wire protocol translationdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+25 -370 replies
18/43RDMA/cm: Convert REQ flow controldrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+2 -150 replies
19/43RDMA/cm: Convert starting PSN to be u32 variabledrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+12 -360 replies
20/43RDMA/cm: Update REQ local response timeoutdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+4 -160 replies
21/43RDMA/cm: Convert REQ retry count to use new schemedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -150 replies
22/43RDMA/cm: Update REQ path MTU fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+4 -140 replies
23/43RDMA/cm: Convert REQ RNR retry timeout counterdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -150 replies
24/43RDMA/cm: Convert REQ MAX CM retriesdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+2 -130 replies
25/43RDMA/cm: Convert REQ SRQ fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+2 -130 replies
26/43RDMA/cm: Convert REQ flow label fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+8 -330 replies
27/43RDMA/cm: Convert REQ packet ratedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+4 -300 replies
28/43RDMA/cm: Convert REQ SL fieldsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+6 -280 replies
29/43RDMA/cm: Convert REQ subnet local fieldsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+5 -280 replies
30/43RDMA/cm: Convert REQ local ack timeoutdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+8 -320 replies
31/43RDMA/cm: Convert MRA MRAed fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+6 -150 replies
32/43RDMA/cm: Convert MRA service timeoutdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -150 replies
33/43RDMA/cm: Update REJ struct to use new schemedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+9 -300 replies
34/43RDMA/cm: Convert REP target ack delay fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+4 -160 replies
35/43RDMA/cm: Convert REP failover accepted fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+2 -130 replies
36/43RDMA/cm: Convert REP flow control fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -140 replies
37/43RDMA/cm: Convert REP RNR retry count fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -150 replies
38/43RDMA/cm: Convert REP SRQ fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+3 -140 replies
39/43RDMA/cm: Delete unused CM LAP functionsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+0 -1560 replies
40/43RDMA/cm: Convert LAP flow label fielddrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+2 -60 replies
41/43RDMA/cm: Convert LAP fieldsdrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+5 -240 replies
42/43RDMA/cm: Delete unused CM ARP functionsdrivers/infiniband/core/cm.c include/rdma/ib_cm.h+0 -1000 replies
43/43RDMA/cm: Convert SIDR_REP to new schemedrivers/infiniband/core/cm.c drivers/infiniband/core/cm_msgs.h+8 -210 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH rdma-next 00/43] Convert CM to bitmaps

From: Leon Romanovsky <[email protected]>

Hi,

This series is based n previously sent CM cleanup series [1] and continues already started task to clean up CM related code.

Over the years, the IB/core gained a number of anti-patterns which led to mistakes. First and most distracting is spread of hardware specification types (e.g. __beXX) to the core logic. Second, endless copy/paste to access IBTA binary blobs, which made any IBTA extensions not an easy task.

In next series, we will add Enhance Connection Establishment bits which were added recently to IBTA and will continue to convert rest of the CM code to propose macros by eliminating __beXX variables from core code.

Thanks

[1] https://lore.kernel.org/linux-rdma/[email protected]

BTW,
I know that it is more than 15 patches, but they are small and self-contained.

Leon Romanovsky (43):
RDMA/cm: Add naive SET/GET implementations to hide CM wire format RDMA/cm: Request For Communication (REQ) message definitions RDMA/cm: Message Receipt Acknowledgment (MRA) message definitions RDMA/cm: Reject (REJ) message definitions
RDMA/cm: Reply To Request for communication (REP) definitions RDMA/cm: Ready To Use (RTU) definitions
RDMA/cm: Request For Communication Release (DREQ) definitions RDMA/cm: Reply To Request For Communication Release (DREP) definitions RDMA/cm: Load Alternate Path (LAP) definitions
RDMA/cm: Alternate Path Response (APR) message definitions RDMA/cm: Service ID Resolution Request (SIDR_REQ) definitions RDMA/cm: Service ID Resolution Response (SIDR_REP) definitions RDMA/cm: Convert QPN and EECN to be u32 variables
RDMA/cm: Convert REQ responded resources to the new scheme RDMA/cm: Convert REQ initiator depth to the new scheme RDMA/cm: Convert REQ remote response timeout
RDMA/cm: Simplify QP type to wire protocol translation RDMA/cm: Convert REQ flow control
RDMA/cm: Convert starting PSN to be u32 variable
RDMA/cm: Update REQ local response timeout
RDMA/cm: Convert REQ retry count to use new scheme RDMA/cm: Update REQ path MTU field
RDMA/cm: Convert REQ RNR retry timeout counter
RDMA/cm: Convert REQ MAX CM retries
RDMA/cm: Convert REQ SRQ field
RDMA/cm: Convert REQ flow label field
RDMA/cm: Convert REQ packet rate
RDMA/cm: Convert REQ SL fields
RDMA/cm: Convert REQ subnet local fields
RDMA/cm: Convert REQ local ack timeout
RDMA/cm: Convert MRA MRAed field
RDMA/cm: Convert MRA service timeout
RDMA/cm: Update REJ struct to use new scheme
RDMA/cm: Convert REP target ack delay field
RDMA/cm: Convert REP failover accepted field
RDMA/cm: Convert REP flow control field
RDMA/cm: Convert REP RNR retry count field
RDMA/cm: Convert REP SRQ field
RDMA/cm: Delete unused CM LAP functions
RDMA/cm: Convert LAP flow label field
RDMA/cm: Convert LAP fields
RDMA/cm: Delete unused CM ARP functions
RDMA/cm: Convert SIDR_REP to new scheme

 drivers/infiniband/core/cm.c      | 519 +++++++----------
 drivers/infiniband/core/cm_msgs.h | 920 +++++++++++-------------------
 drivers/infiniband/core/cma.c     |  11 +-
 include/rdma/ib_cm.h              |  51 --
 4 files changed, 549 insertions(+), 952 deletions(-)

--
2.20.1