【报错处理】ib_write_bw执行遇到Failed to modify QP 358 to RTR原因与解决办法?

拓扑

struct ib_qp_attr *attr 是一个指向InfiniBand(IB)队列对(Queue Pair, QP)属性结构体的指针。InfiniBand是一种高性能网络通信技术,广泛应用于高性能计算(HPC)和数据中心。队列对是InfiniBand中用于数据传输的基本单元,包含发送队列和接收队列。 以下是对struct ib_qp_attr *attr的详细介绍: 1. **结构体定义**: struct ib_qp_attr 结构体用于描述队列对的属性,包括状态、路径、优先级等信息。该结构体通常包含以下成员: - qp_state:队列对的状态,如RESET, INIT, RTR, RTS等。 - path_mtu:路径的最大传输单元(MTU)。 - dest_qp_num:目标队列对的编号。 - qkey:QKey,用于标识数据包的类型和优先级。 - sq_psn:发送队列的Packet Sequence Number(PSN)。 - rq_psn:接收队列的PSN。 - max_dest_rd_atomic:目标队列对的最大RDMA读/原子操作数。 - max_rd_atomic:本地队列对的最大RDMA读/原子操作数。 - port_num:使用的端口号。 - timeout:超时时间。 - retry_cnt:重试次数。 - rnr_retry:RNR(Receiver Not Ready)重试次数。 - pkey_index:PKey索引。 - alt_dest_qp_num:备用目标队列对的编号。 - alt_port_num:备用端口号。 2. **用途**: 该结构体用于配置和查询队列对的属性。通过设置attr指针指向的struct ib_qp_attr结构体的成员,可以配置队列对的各种属性,如状态、路径、优先级等。 3. **使用示例**: ```c struct ib_qp_attr attr; struct ib_qp_init_attr init_attr; struct ib_qp *qp; // 初始化队列对属性 memset(&attr, 0, sizeof(attr)); attr.qp_state = IB_QPS_INIT; attr.pkey_index = 0; attr.port_num = 1; attr.qp_access_flags = IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_READ | IB_ACCESS_REMOTE_WRITE; // 创建队列对 ib_qp = ib_create_qp(pd, &init_attr); // 修改队列对属性 ib_modify_qp(qp, &attr, IB_QP_STATE | IB_QP_PKEY_INDEX | IB_QP_PORT | IB_QP_ACCESS_FLAGS); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值