腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
Linux内核
Linux内核, 内存管理, 调试trace, 网络, 存储模块, 源码分析等
专栏成员
举报
16
文章
15198
阅读量
11
订阅数
订阅专栏
申请加入专栏
全部文章(16)
高性能(9)
云计算(8)
内核(7)
linux(5)
网络(5)
虚拟化(4)
通信(4)
网络通信(4)
存储(3)
kernel(2)
linux-kernel(2)
操作系统(2)
网络协议(2)
存储虚拟化(2)
c 语言(1)
http(1)
内存(1)
协议(1)
芯片(1)
性能优化(1)
搜索文章
搜索
搜索
关闭
Intel E810-iRDMA网卡-Linux内核驱动和用户态源码分析
linux
高性能
内核
用户空间直接访问 (UDA) 旨在以通用方式提供用户空间访问队列,但 E810 不支持此功能。 UDA 仅在内核中可用,并且仅限于 iWARP 连接设置和错误处理。 UDA 在用户空间中不可用
晓兵
2024-04-25
1.4K
0
置顶
Linux源码分析-RDMA的通信连接管理CM模块
云计算
高性能
网络通信
RDMA CM 是一种通信管理器,用于设置可靠、连接和不可靠的数据报数据传输。 它提供用于建立连接的 RDMA 传输中立接口。 API 概念基于套接字,但适用于基于队列对 (QP) 的语义:通信必须通过特定的 RDMA 设备进行,并且数据传输基于消息。 RDMA CM 可以控制 RDMA API 的 QP 和通信管理(连接建立/拆除)部分,或者仅控制通信管理部分。 它与 libibverbs 库定义的 verbs API 结合使用。 libibverbs 库提供了发送和接收数据所需的底层接口。 RDMA CM 可以异步或同步操作。 用户通过在特定调用中使用 rdma_cm 事件通道参数来控制操作模式。 如果提供了事件通道,rdma_cm 标识符将报告该通道上的事件数据(例如连接结果)。 如果未提供通道,则所选 rdma_cm 标识符的所有 rdma_cm 操作将被阻止,直到完成。 RDMA CM 为不同的 libibverbs 提供商提供了一个选项来宣传和使用特定于该提供商的各种 QP 配置选项。 此功能称为 ECE(增强连接建立)
晓兵
2024-04-27
937
0
置顶
RDMA-Linux-infiniband-RDMA子系统-源码分析-IB架构-IB设备初始化和注册-内核uverbs接口注册-GID缓存机制
云计算
通信
网络
该驱动程序通过 Linux 网络堆栈实现 InfiniBand RDMA 传输。 它使具有标准以太网适配器的系统能够与 RoCE 适配器或运行 RXE 驱动程序的另一个系统进行互操作。 有关 InfiniBand 和 RoCE 的文档可以从 www.infinibandta.org 和 www.openfabrics.org 下载。 (另请参见 siw,它是 iWARP 的类似软件驱动程序。)该驱动程序分为两层,一层与 Linux RDMA 堆栈接口,并实现内核或用户空间动词 API。 用户空间动词 API 需要一个名为 librxe 的支持库,该支持库由通用用户空间动词 API libibverbs 加载。 另一层与第 3 层的 Linux 网络堆栈接口。要配置和使用 soft-RoCE 驱动程序,请使用“配置 Soft-RoCE (RXE)”部分下的以下 wiki 页面:https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
晓兵
2024-04-19
1.6K
0
置顶
Intel E810网卡芯片架构简介及以太内核驱动初始化源码分析
网络协议
芯片
高性能
网络
网络通信
E810 基于 100G 以太网控制器核心模块,该模块用于多种英特尔产品。图 1-1 说明了控制器核心逻辑与组成完整 E810 设备的 I/O 和支持功能之间的关系
晓兵
2024-12-14
271
0
Intel E810/ICE DPU RDMA 及MLX中断原理分析(CE/AE)
内核
网络
网络通信
操作系统
高性能
E810 与生成完成事件的动词规范定义在两个方面略有不同。首先,如果 CQE 似乎尚未由软件处理(读取门铃阴影区域后,Head != Tail),E810 会为准备下一次完成的 CQ 生成完成事件,而无需等待生成新的完成。其次,E810 不会跟踪自上次完成事件以来生成的请求事件的确切位置。如果自上次生成完成事件以来已经生成任何请求事件完成,并且似乎 CQE 尚未由软件处理,E810 会为请求事件操作生成完成事件。E810 为事件生成准备 CQ 的过程只是首先写入 CQ 阴影区域中的相应位以启用下一个或下一个请求完成通知事件,增加 arm_seq_num,然后写入 PFPE_CQARM 寄存器(参见第 13.2.2.28.8 节)。然后,E810 读取影子区域,并使用 CQ 上下文立即生成新的完成事件(如果 CQ 有未处理的 CQE 剩余),或者在写入后续 CQE 后启用 CQ 以生成新事件。如前所述,在某些情况下可以推迟完成事件。E810 维护在 CQ 上下文中上次启用请求期间读取的最后一个 arm_seq_num 值的副本。E810 在启用请求期间将 CQ 影子区域中的 arm_seq_num 值与 CQ 上下文中的值进行比较,并删除影子区域和 CQ 上下文中具有相同值的启用请求。除非应用程序也可以访问 CQ 影子区域,否则此比较可防止恶意应用程序的 CQ 启用请求更改 CQ 的启用状态。使用 E810 的 CQ 调整大小操作涉及四个步骤。1. 根据应用程序请求的新大小在主机内存中分配新的 CQ。2. 向 E810 发出修改 CQ 操作。修改 CQ 操作通知 E810 开始将新 CQ 用于新 CQE。3. 完全处理旧 CQ 中的 CQE。4. 释放旧 CQ 的缓冲区后,开始处理新 CQ 中的 CQE。当在旧 CQ 中发现无效 CQE 并且在新 CQ 上遇到至少一个有效 CQE 时,可以认为旧 CQ 已完全处理
晓兵
2024-12-01
205
0
Intel FPGA 100G VF(IFCVF) DPDK用户态VDPA设备probe探测流程
云计算
虚拟化
高性能
内核
通信
callfd: host侧IO处理完成后, 如果是split vring, 则将结果写入vring used字段, 然后写callfd通知qemu/guest
晓兵
2024-08-04
275
0
用户态vdpa设备vduse简介及结合QEMU源码分析
存储虚拟化
云计算
虚拟化
高性能
内核
vduse: VDUSE(vDPA Device in Userspace) 用户态vdpa设备
晓兵
2024-07-16
401
0
vDPA:支持 Linux 和 QEMU 中的块设备及内核VDPA块仿真设备vdpa-sim-blk源码分析
高性能
内核
存储虚拟化
云计算
虚拟化
vDPA 设备是一种遵循virtio 数据路径规范但具有特定于供应商的控制路径的设备。
晓兵
2024-07-15
549
0
RDMA - ODP按需分页设计原理-优点-源码浅析
高性能
网络协议
云计算
HMM: 异构内存管理(Heterogeneous Memory Management)
晓兵
2024-06-14
602
0
VFIO简介-Linux内核源码分析-模块加载-IOCTL接口-DPDK使用VFIO
虚拟化
kernel
云计算
VFIO(Versatile Framework for userspace I/O) : 用户空间 I/O 的多功能框架
晓兵
2024-05-12
1.3K
0
Linux RDMA RXE/SoftRoCE 软件RoCE-内核驱动源码
通信
网络
网络通信
linux
高性能
rdma_rxe 内核模块提供 RoCEv2 协议的软件实现。 RoCEv2 协议是存在于 UDP/IPv4 或 UDP/IPv6 之上的 RDMA 传输协议。 InfiniBand (IB) 基本传输标头 (BTH) 封装在 UDP 数据包中。 创建 RXE 实例后,通过 RXE 进行通信与通过任何 OFED 兼容的 Infiniband HCA 进行通信相同,尽管在某些情况下会涉及寻址问题。 特别是,虽然 GRH 标头的使用在 IB 子网中是可选的,但对于 RoCE 来说是强制性的。 基于 IB 动词编写的动词应用程序应该可以无缝工作,但它们需要在创建地址向量时提供 GRH 信息。 修改库和驱动程序以提供硬件所需的从 GID 到 MAC 地址的映射
晓兵
2024-04-10
2K
2
DPDK巨页地址管理/Linux内核内存管理/内存映射/pagemap/rdma内存/注册
通信
网络
操作系统
内存
内核
PBLE: Physical Buffer List Entry 物理缓冲区列表条目
晓兵
2024-03-12
881
0
Linux内核编译及利用SCSI协议保留字段在initiator和tgt间通信
存储
kernel
linux-kernel
c 语言
linux
需求: 如何利用ISCSI协议保留字段, 在Initiator和Tgt端传递, 完成一些控制开关或其他管理功能 ?
晓兵
2023-12-11
482
0
NVMe-oF,nvme_cli_initiator与tgt(spdk_tgt)之Fabrics(RDMA)流程源码分析
内核
协议
linux
存储
云计算
NVMe over Fabrics (NVMe-oF) 是 NVMe 网络协议对以太网和光纤通道的扩展,可在存储和服务器之间提供更快、更高效的连接,并降低应用程序主机服务器的 CPU 利用率
晓兵
2023-07-14
2.1K
0
linux内核多路径故障(fail_path)流程图及源码分析_kernel_iscsid_multipathd_device_mapper
linux-kernel
存储
linux多路径multipath, 允许将客户主机端与后端存储引擎或存储阵列之间的多个物理连接组合成一个虚拟设备, 这样做可以为您的存储提供更具弹性的连接(即断开的路径不会妨碍其他连接),或者聚合存储带宽以提高性能. 本文梳理了路径故障时的内核和相关组件处理流程及源码分析, 如下图
晓兵
2023-06-30
1.1K
0
Linux内核与DPDK-HTTP 性能对决(Linux Kernel vs DPDK: HTTP Performance Showdown)[译]
linux
http
性能优化
在这篇文章中,我将使用一个简单的 HTTP 基准测试在 Linux 内核的网络堆栈和由 DPDK 提供支持的内核旁路堆栈之间进行正面性能比较。 我将使用 Seastar 运行我的测试,Seastar 是一个用于构建高性能服务器应用程序的 C++ 框架。 Seastar 支持构建使用 Linux 内核或 DPDK 进行网络连接的应用程序,因此它是进行此比较的完美框架。
晓兵
2023-06-23
1.2K
0
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档