Support iwarp transports.
PATCH 1/1 Support iwarp transports.
- add transport type for making transport-specific decisions
- rdma read sink mrs need REMOTE_WRITE access for iwarp transports
- set initiator_depth and responder_resources based on device max values
- add chelsio devices
---
src/perftest_communication.c | 8 +++-- src/perftest_parameters.c | 63 ++++++++++++++++++++++++++++++++---------- src/perftest_parameters.h | 4 ++- src/perftest_resources.c | 2 + 4 files changed, 57 insertions(+), 20 deletions(-)
src/perftest_communication.c +4 -4
@@ -745,8 +745,8 @@ int rdma_client_connect(struct pingpong_context *ctx,struct perftest_parametersmemset (&conn_param,0 ,sizeof conn_param);if (user_param->verb ==READ ) { - conn_param.responder_resources =RDMA_MAX_RESP_RES ; - conn_param.initiator_depth =RDMA_MAX_INIT_DEPTH ; + conn_param.responder_resources = user_param->out_reads; + conn_param.initiator_depth = user_param->out_reads; } user_param->work_rdma_cm = temp;
@@ -862,8 +862,8 @@ int rdma_server_connect(struct pingpong_context *ctx,memset (&conn_param,0 ,sizeof conn_param);if (user_param->verb ==READ ) { - conn_param.responder_resources =RDMA_MAX_RESP_RES ; - conn_param.initiator_depth =RDMA_MAX_INIT_DEPTH ; + conn_param.responder_resources = user_param->out_reads; + conn_param.initiator_depth = user_param->out_reads; }if (user_param->connection_type ==UD ) conn_param.qp_num = ctx->qp[0 ]->qp_num;
src/perftest_parameters.c +48 -15
87 lines not on this page · raw message
src/perftest_parameters.h +3 -1
@@ -180,7 +180,8 @@ typedef enum { LOCAL , REMOTE } PrintDataSide;typedef enum {CMP_AND_SWAP ,FETCH_AND_ADD }AtomicType ;// The type of the device (Hermon B0/A0 or no) -typedef enum {DEVICE_ERROR =-1 ,UNKNOWN =0 ,CONNECTX =1 ,CONNECTX2 =2 ,CONNECTX3 =3 ,CONNECTIB =4 ,LEGACY =5 }Device ; +typedef enum {DEVICE_ERROR =-1 ,UNKNOWN =0 ,CONNECTX =1 ,CONNECTX2 =2 ,CONNECTX3 =3 ,CONNECTIB =4 ,LEGACY =5 , +CHELSIO_T4 =6 ,CHELSIO_T5 =7 }Device ;// Type of test method. typedef enum {ITERATIONS ,DURATION }TestMethod ;
@@ -236,6 +237,7 @@ struct perftest_parameters {int margin;uint32_t rem_ud_qpn;uint32_t rem_ud_qkey; +enum ibv_transport_type transport_type;uint8_t link_type;uint8_t link_type2;MachineType machine;
src/perftest_resources.c +2 -0
@@ -376,6 +376,8 @@ int ctx_init(struct pingpong_context *ctx,struct perftest_parameters *user_param }else if (user_param->verb ==READ ) { flags |=IBV_ACCESS_REMOTE_READ ; +if (user_param->transport_type ==IBV_TRANSPORT_IWARP ) + flags |=IBV_ACCESS_REMOTE_WRITE ; }else if (user_param->verb ==ATOMIC ) { flags |=IBV_ACCESS_REMOTE_ATOMIC ;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 20130220040941.31762.66644.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org
Quoted 8 lines · Steve Wise
- add transport type for making transport-specific decisions
- rdma read sink mrs needREMOTE_WRITEaccess for iwarp transports
- setinitiator_depthandresponder_resourcesbased on device max values
- add chelsio devicesSigned-off-by Steve Wise <[email protected]>---
Hey Ido,
This patch gets Chelsio RNICs working with the various perftools apps. I'll also be working on adding multi-port and multi-qp support when using the rdmacm.
Lemme know your thoughts.
Thanks,
Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html