RDMA
文章平均质量分 52
框架学习
酸菜。
忘了他吧,我写代码养你!
展开
-
rdma rxe驱动ack包状态机解析
如果收到了ack包就会进行一系列的处理,如下,红色的代表走的是正常逻辑。文件:rxe_comp.c的rxe_completer函数。原创 2023-04-19 19:03:18 · 322 阅读 · 0 评论 -
rdma IBV_SEND_FENCE标记位理解
qp->req.wait_fence设置为1,然后返回NULL,所以rxe_requester函数直接退出了,不会进行这个wqe的处理,那么什么时候可以处理呢?只有等到这个设置了IBV_SEND_FENCE标记位的上一个wqe收到了最后一个ack以后,才会对当前设置了IBV_SEND_FENCE标记位的wqe进行处理。在rxe_comp.c里do_complete函数的最后有相应的设置,并且在设置之前,已经产生了cqe,即ack已经得到了相应的处理。在函数的最后有个判断,参考rxe驱动代码,原创 2023-04-18 18:57:36 · 813 阅读 · 0 评论 -
rdma rxe ack超时处理原理
那么state的变化为COMPST_GET_WQE->COMPST_EXIT->COMPST_ERROR_RETRY->COMPST_ERROR_RETRY,在int rxe_requester(void *arg)发包函数的最后会调用update_state函数,触发retrans_timer定时器。然后从skb队列里取出skb包,如果超时取出的skb为NULL,说明定时器到期以后,还没有ack过来,从而,在定时器到期以后会调度到rxe_completer函数,到了req的调度以后,原创 2023-04-17 19:22:26 · 333 阅读 · 0 评论 -
rdma cq的同步事件通知机制
调度会调用到rxe_send_complete函数,通过cq->ibcq.comp_handler(&cq->ibcq, cq->ibcq.cq_context);使用例程:https://www.rdmamojo.com/2013/03/16/ibv_ack_cq_events/我想,如果不调用ibv_ack_cq_events的话,在销毁cq时,应该是会阻塞的,可以自己写代码验证下。这个时候,ibv_get_cq_event函数的read就会返回,ibv_req_notify_cq函数要重复的调用。原创 2023-04-11 16:17:43 · 975 阅读 · 0 评论 -
rdma ack包 Syndrome字段含义总结
5,6bit为11表示这是一个NAK包,01表示RNR NAK包,00是正常情况,代表正确的收到了一个ack包。在rxe的驱动代码里,体现在rxe_comp.c文件的check_ack函数里。NAK包又细分为以下几种情况,以0-4bit代表不同的情况。该字段占一个字节,最高位(7bit)是保留的。原创 2023-04-04 18:51:48 · 726 阅读 · 0 评论 -
rdma max_dest_rd_atomic和max_rd_atomic字段含义总结
首先是max_rd_atomic字段,如果发送端要发起read或者atomic操作,那么这个字段通常要设置为1,如果设置为0,那么即使你发起了read或者atomic操作也是不起作用的,而对于发送端来说max_dest_rd_atomic字段可以设置为0(当然,条件是它此时不会做为接收端来接收read请求或者atomic请求),max_rd_atomic字段设置为1,就说明它只能处理一次读请求或者原子请求么?所以一般给1就可以。原创 2023-03-30 19:00:23 · 318 阅读 · 0 评论 -
rdma struct ibv_qp_attr属性timeout,retry_cnt,rnr_retry等字段含义。
没有收到ack,此时由于将接收端的发送函数注释了,所以不会收到ack包,由于此时将timeout设置为0,所以不会将数据进行重新发送。含义:远程QP在报告错误之前发送RNR NACK时,QP将尝试重发数据包的总次数7为特殊值,表示在RNR情况下重试无限次。这个值是对端给你回复nack包时,你要重新发送数据包的次数,那我们可以模拟一下对端回复nack的情况。驱动底下是用一个3bit的值表示的,所以最大的值可以给7,给7的意思是重新发送无限次。含义:远端没有应答而报告错误之前,QP将尝试重发数据包的总次数。原创 2023-03-28 17:29:09 · 1174 阅读 · 0 评论 -
IBV_WR_ATOMIC_FETCH_AND_ADD和IBV_WR_ATOMIC_CMP_AND_SWP使用总结
RDMA原子操作原创 2023-03-10 16:38:18 · 347 阅读 · 3 评论 -
rdma rocev2报文格式总结
rdma rocev2报文格式总结原创 2023-02-15 14:46:06 · 7432 阅读 · 4 评论 -
RDMA IBV_SEND_INLINE和IBV_SEND_SIGNALED区别
IBV_SEND_SIGNALED 和 IBV_SEND_INLINE 区别原创 2023-02-10 19:22:24 · 287 阅读 · 0 评论 -
ib_register_device注册一个IB设备
ib_register_device注册一个IB设备原创 2022-12-28 18:27:46 · 483 阅读 · 0 评论 -
关于IBV_WR_RDMA_WRITE_WITH_IMM的理解
对于IBV_WC_RECV_RDMA_WITH_IMM的描述是这样的,也就是说并不需要sge,所以下发的sge,可以是NULL,个数可以是0。(1)需要下发post_recv,但是下发是post_recv当中的sge的地址可以是空,sge个数可以是0。伪代码,实际的rkey和addr已经通过socket交换。并且poll_cq时,有返回,在这篇文章当中对于poll_cq时,主要区别点有两个,这个是对于接收端而言。(2)可以带即时数据,原创 2022-12-13 11:34:56 · 1378 阅读 · 0 评论 -
rdma-core/ud_pingpong.c阅读记录
rdma-core/ud_pingpong.c阅读记录原创 2022-11-16 20:29:08 · 530 阅读 · 0 评论 -
rdma-ud例程
rdma-ud例程原创 2022-11-08 16:32:27 · 575 阅读 · 0 评论 -
rdma-core ud_pingpong.c阅读记录
rdma-ud_pingpong.c原创 2022-11-07 19:45:01 · 685 阅读 · 3 评论 -
rdma-read/write例程
rdma read/write例程原创 2022-11-04 15:33:44 · 532 阅读 · 0 评论 -
RDMA-send/recv例程
rdma例程原创 2022-11-02 19:44:58 · 343 阅读 · 0 评论 -
rdma-轮询常用cq函数。
rdma-cq轮询原创 2022-11-01 18:19:12 · 980 阅读 · 0 评论 -
rdma-cq的创建与销毁
rdma-cq原创 2022-10-28 15:22:22 · 566 阅读 · 0 评论 -
Event Channel Operations
rdma event原创 2022-10-27 18:24:49 · 221 阅读 · 0 评论 -
RDMA-典型编程步骤
rdma-编程步骤原创 2022-10-25 14:27:37 · 503 阅读 · 0 评论 -
RDMA-device系列api
RDMA-verbs api原创 2022-10-25 10:42:01 · 705 阅读 · 0 评论 -
RDMA-打开设备列表与释放设备列表
RDMA verbs原创 2022-10-24 20:16:00 · 565 阅读 · 0 评论 -
RDMA-Using the QP states
RDMA-Using the QP states原创 2022-10-24 17:09:06 · 1195 阅读 · 0 评论 -
RDMA-QP状态转换
RDMA QP state原创 2022-10-24 15:56:15 · 1367 阅读 · 0 评论 -
使用Verbs API剖析一个小型ib应用程序
rdma-core rc_pingpong.c原创 2022-10-21 20:15:48 · 1037 阅读 · 0 评论 -
rdma-core的ibv_devices命令源码阅读
ibv_devices源码阅读原创 2022-10-20 18:39:31 · 543 阅读 · 0 评论 -
rdma软件架构的理解。
rdma软件协议栈架构理解原创 2022-10-19 19:37:22 · 1458 阅读 · 0 评论 -
RDMA Soft-RoCE实验操作
手上没有特定的硬件去做这个RoCE的实验,不过可以使用soft-roce去做这个实验,模拟数据包的发送以及接收过程。使用内容:使用两台机器,使用Soft-RoCE技术让两台机器互相通信。参考文章1:实验操作参考2:视频在看篇文章的时候,了解到了perftest性能测试工具,有点范迷糊,这又是什么东东,于是,马上开始面向百度进行了搜索,找到了一篇说perf觉得还算是比较容易理解的博文,1:perf简单介绍...原创 2022-04-06 15:27:37 · 999 阅读 · 0 评论