
dpdk
文章平均质量分 94
犀牛卫士
C/linux开发
展开
-
DPDK系列第九篇 SRVIO VF网卡RESET 问题 彻底解决 及 DPDK中断流程整理
dpdk 官方手册也有 reset 测试讲解 (stop、reset、start 流程 184. VF PF Reset Tests — DPDK Test Plans documentation),但是实际测试下来,并不能生效。本文提供了一种更彻底的解决方案,直接从总线上 remove 并重新probe,多种场景测试,使用无误。原创 2023-11-22 11:23:55 · 600 阅读 · 0 评论 -
DPDK系列第八篇:深入剖析DPDK中 IGB_UIO的使用
上一节IOVA的讲解中,我们引入了IGB_UIO和 VFIO两个PCI内核态驱动,这两个驱动是DPDK实现用户态PMD的基石,我们将分两节进行介绍,本节将针对IGB_UIO进行深入剖析。原创 2023-11-16 23:13:06 · 1662 阅读 · 1 评论 -
DPDK系列第七篇:IOVA介绍及实际使用
DPDK 确实区分了将物理地址用作 IOVA 的情况和 IOVA 与用户空间虚拟地址匹配的情况。这些情况在 DPDK API 中称为 IOVA 模式,其中有两种:IOVA 作为 PA,IOVA 作为 VA原创 2023-11-13 12:32:50 · 667 阅读 · 0 评论 -
DPDK系列第六篇:IOVA前期知识 DMA、IOMMU概念及关联
随着虚拟化技术在数据中心大规模地使用,iommu的主要作用也由原来单方面的转换功能变成了转换加隔离。在sriov场景iommu的隔离作用主要体现在避免直通给不同虚拟机外设DMA错误物理内存原创 2023-11-11 00:13:48 · 1229 阅读 · 1 评论 -
DPDK 系列第五篇:基于大页的内存管理 (内附整理的全内存数据结构关联图,全网无第二份)
整体分析总结了DPDK的内存管理机制,从最底层的大页信息识别,到大页映射并与Memseg关联,再到heap 创建都有详细的介绍。文章最后还附了整理好的及其详细的DPDK各内存结构关联图,对内存框架的理解很有帮助原创 2023-11-06 00:22:03 · 1382 阅读 · 2 评论 -
NUMA、NODE、SOCKET、CPU关系深度探索
假如系统有 A、B、C、D 四个numa,进程运行在A numa 所属core 上, 那你是否知道A numa core 上的进程访问B、C、D哪个numa 的内存性能会更高?或者浅一层的问题,你认为 NUMA 和 SOCKET是一对一的关系吗?原创 2023-11-02 23:45:38 · 3709 阅读 · 2 评论 -
DPDK 系列第四篇:TLB和大页
在现代计算机系统中,程序使用的是虚拟地址,而不是直接访问物理内存地址。当程序访问虚拟地址时,CPU需要将其转换为对应的物理地址,以便正确地访问内存。这个转换过程涉及到页表的查询,而TLB可以缓存部分页表的映射结果,从而加快地址转换的速度。原创 2023-11-02 12:29:16 · 613 阅读 · 1 评论 -
DPDK 系列第三篇:CPU 亲和性及实际应用
就是一个特定的任务要在某个给定的CPU上尽量长时间地运行而不被迁移到其他处理器上的倾向性。亲和性一词是从affinity翻译来的,实际可以称为CPU绑定。原创 2023-11-01 12:07:41 · 1790 阅读 · 12 评论 -
DPDK 系列第二篇:CPU Cache详解及DPDK在Cache方面的性能应用
处理器速度越来越来,但是内存吞吐量较处理器还是很慢,一般来讲,处理器要从内存中直接读取数据都要花大概几百个时钟周期,在这几百个时钟周期内,处理器除了等待什么也不能做。在这种环境下,才提出了Cache的概念,其目的就是为了匹配处理器和内存之间存在的巨大的速度鸿沟。原创 2023-10-30 22:02:25 · 762 阅读 · 0 评论 -
DPDK 系列第一篇: DPDK架构阐述
从DPDK的组成及最佳实践衍生出一些性能方面的思考,性能在软件开发方面达到一定瓶颈以后,可以尝试是否可以有硬件方面的突破,比如不同速率规格的磁盘存储,核亲和性、处理器硬件加速等,对于可固化的处理(例如,流分类,QoS)交由加速单元完成,而对于灵活的业务逻辑则由众多的通用处理器完成,这种方式会有效的融合软硬件各自的优势。原创 2023-10-28 22:02:25 · 862 阅读 · 0 评论 -
srvio直通网卡不收包问题定位——整洁架构的反面用例
srvio直通网卡不收包问题定位 及背后架构思考原创 2023-10-28 11:23:32 · 349 阅读 · 0 评论