rdma IBV_SEND_FENCE标记位理解

news2025/1/24 5:47:42

参考rxe驱动代码,
在rxe_req.c文件里,取wqe时,会调用req_next_wqe函数,

在函数的最后有个判断,
qp->req.wait_fence设置为1,然后返回NULL,所以rxe_requester函数直接退出了,不会进行这个wqe的处理,那么什么时候可以处理呢?只有等到这个设置了IBV_SEND_FENCE标记位的上一个wqe收到了最后一个ack以后,才会对当前设置了IBV_SEND_FENCE标记位的wqe进行处理。

	if (unlikely((wqe->wr.send_flags & IB_SEND_FENCE) &&
						     (index != cons))) {
		qp->req.wait_fence = 1;
		return NULL;
	}

在rxe_comp.c里do_complete函数的最后有相应的设置,并且在设置之前,已经产生了cqe,即ack已经得到了相应的处理。

	if (qp->req.wait_fence) {
		qp->req.wait_fence = 0;
		rxe_run_task(&qp->req.task, 0);
	}

不过在:https://www.rdmamojo.com/2013/01/26/ibv_post_send/
说,这个标记位只有对read和atomic起作用,从rxe驱动代码来看貌似不是这回事。

为了说的明白一点,这里举一个例子。
在这里插入图片描述
这里注意发数据包的时候,取wqe的index,它是取的req.wqe_index的
值,假设当前,pi指向7,而ci指向2,wqe5携带了FENCE标记,
发包函数处理到wqe5的时候看到带有fence标记,流程就会结束,
并设置wait_fence为1,当收ack的调度收到了wqe的最后一个ack时,这个时候会设置
wait_fence为0,然后ci变为3,但是,发包函数是根据req_index取到的wqe,
由于req.wqe_index没有更新,所以此时再次进入发包函数时,取出的
wqe是wqe5,所以再次返回NULL,当处理到wqe5时,ci是5,req.wqe_index也是5
所以,这个时候wait_fence不会设置为1,从而不会返回NULL。这个时候流程进行往下走

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/433900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】网络编程入门(TCP + UDP)

目录简述: 前言: 一、网络通信概述 二、网络编程主要函数 (1)socket函数 (2)bind函数 (3)bind函数 (4)accept函数 (5)connect…

AttributeError: ‘LTP‘ object has no attribute ‘seg‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【Jenkins 2.x 实践指南】2.7 pipeline -- 章节小结

目录 一、 pipeline入门 1. pipeline 是什么 2. Jenkinsfile 又是什么 3. pipeline语法 的选择 4. 创建第一个pipeline - helloworld Stage 1: 创建任务 Stage 2: 创建流水线 - Hello World Stage 3: 编写 pipeline 声明 Stage 4: 执行 Stage 5: 点击 #1 查看日志 …

2023年 中国制造业这三大趋势不可忽视

政府要掏1个亿奖励制造企业搞发展,我国制造业大翻身的时代来了吗? 4月12日成都日报电,为支持制造业创新发展,支持制造业数字化、智能化和绿色化转型升级,培育高精尖特企业,政府给扶持政策不说,…

2.5亿行文本数据,导入到SqlServer需要多久?

今天测试了一下SqlServer的导入性能,数据库版本是SqlServer2008r2。 数据源是大概5000个文件,总共12.7G的大小的文本文件, 自己做的导入工具,利用多线程导入,总共耗费了大概1个小时。 导入后的总行数达到2.5亿多行&am…

Linux 安装tomcat教程

前言 PS:安装tomcat需要先配置jdk 1.Tomcat下载 1.1.Tomcat安装包下载 1. 可以选择直接在omcat官网Apache Tomcat - Apache Tomcat 9 Software Downloads下载,上传至linux服务器 1.2. 主机wget源下载 也可以通过直接在linux直接下载 #执行命令 wge…

Spring AOP: 多切面的顺序,性能及异常监控

目录标题 一、Sprig的AOP操作JDK动态代理CGLib动态代理基于xml开发Spring AOP基于注解开发Spring AOP 二、多切面的顺序基于注解的配置基于Ordered接口配置基于XML配置 三、性能及异常监控性能监控异常监控 四、工程目录及运行结果图 一、Sprig的AOP操作 JDK动态代理 //接口 …

港科夜闻|国务院港澳办主任夏宝龙在香港科大考察期间,表示对学校开展创科工作的鼓励及希望...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、国务院港澳办主任夏宝龙在香港科大考察期间,表示对学校开展创科工作的鼓励及希望。考察期间,夏宝龙主任参观了香港科大的空气动力学和声学实验中心,以及香港科大先进显示与光电子技术国…

【花雕学AI】找出合适的提示词—让ChatGPT发挥出最大的潜力与价值

ChatGPT 是一种基于人工智能技术的自然语言处理系统,它可以回答各种问题,提供有用的信息和建议。然而,要让 ChatGPT 发挥出最大的潜力和价值,我们需要使用一些提示词来帮助它更好地理解我们的问题和需求。这些提示词包括明确、详细…

WPF 看板组件:Kanban Library for WPF 4.2 Crack

WPF 的看板组件。 适用于 WPF 的 DlhSoft 看板库可帮助您在 WPF 应用程序中创建交互式看板。它包括可自定义的状态、可扩展的组、可拖动的项目、可选菜单等等。 用于 WPF 功能的 DlhSoft 看板库 交互式板- 可定制的状态、可扩展的组、可拖动的项目、可选菜单。根据需要注入您自…

D. Restore Permutation(树状数组 + 二分)

Problem - D - Codeforces 一个由整数p1,p2,...,pn组成的数组,如果它包含1到n中的每一个数字恰好一次,则称为一个排列组合。例如,下面的数组就是排列组合: [3,1,2], [1], [1,2,3,4,5] 和 [4,3,1,2]. 下列数组不是排列组合&#x…

「线性DP」合唱队形

合唱队形 https://ac.nowcoder.com/acm/contest/24213/1011 题目描述 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高…

搭建静态网页

day3作业 请给openlab搭建web网站​ 网站需求:​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!​ 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com…

第三章(4):自然语言处理入门

第三章(4):自然语言处理入门 在本节中,我们将在简单文本数据上(例如一个句子上),执行一系列基本操作,来帮助你熟悉NLP的工作原理,其中一些技术在第三章(2&…

DDoS攻击手段发生重大转变 网络空间面临未知威胁

2023年第一季度,DDoS攻击手段出现重大转变。攻击开始攻陷破坏的虚拟专用服务器(VPS),而非传统的受感染物联网设备。这标志着DDoS攻击力度出现质的飞跃,网络空间安全迎来新的挑战。 网络空间测绘技术可以探测、采集、分析和处理网络空间数据&…

JeTSON Xavier NX TX2_NX 暗转yolov5 v6.2使用Tensorrt加速实现USB摄像头和CSI摄像头的目标识别及采坑记录

本文是参考各位博客朋友的笔记做了实操整理勿喷。 硬件设备nvidia JETSON NX TX2_NX 软件版本BSP3273(Jetpack4.6.3)再次分享一下刷机指导 Jetson Linux R32.7.3 NVIDIA Jetson Linux 驱动程序包是 Jetson™ 的主板支持包。它包括Linux内核,UEFI引导加载程序&am…

「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…

mybatis-plus mpw 基于nacos-配置中心失效问题解决。

先谈谈个人理解: 配置中心下的配置加密做不做其实意义不大。 1、首先nacos console 内网化,受到攻击概率很低 2、加密后,各namespace 下的配置信息查看不友好。增加开发成本 3、对称加密既然组员都有密码了,还谈何来的秘密。 4、有…

【嵌入式环境下linux内核及驱动学习笔记-(4-字符驱动实例)】

目录 1、完整的字符设备驱动的模板2、相关函数2.1 container_of()2.2 kmalloc2.3 copy_to_user()2.4 copy_from_user()2.5 系统调用open()2.6 系统调用read2.7 系统调用write2.8 系统调用close 3、实例:多个同类字符设备的驱动3.1 驱动代码3.2 测试 1、完整的字符设…

【C语言】初阶指针(指针及其类型以及野指针)

简单不先于复杂,而是在复杂之后。 目录 1. 指针是什么? 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 1. 指针是什么? 指针理解的两个要点: 1. 指针是内存中最小…