文章目录
- [1 概要](#1 概要)
- [2 内核旁路与硬件交互](#2 内核旁路与硬件交互)
-
- [2.1 UIO 与 VFIO 机制](#2.1 UIO 与 VFIO 机制)
-
- [2.1.1 UIO技术](#2.1.1 UIO技术)
- [2.1.2 VFIO技术](#2.1.2 VFIO技术)
- [3 MMIO](#3 MMIO)
- [4 总结](#4 总结)
1 概要
博主最近在想学习RDMA的相关知识,但是无奈于RDMA的教学太少,考虑到DPDK与RDMA有较多技术相关的部分,且DPDK的教程多一些,因此想现将DPDK与RDMA重合的知识部分学习,之后再学习RDMA。
本系列将会分为以下四个部分
- 内存管理模块(最重要:建立硬件直接访问内存的认知)
RDMA 最大的门槛在于理解"为什么网卡可以直接读写用户态内存"。DPDK 的内存管理能帮你完美破局。 - 内核旁路与硬件交互(建立绕过操作系统的认知)
- 数据结构与缓冲区管理(建立零拷贝的认知)
- 并发与队列模型(建立异步事件通信的认知)
2 内核旁路与硬件交互

2.1 UIO 与 VFIO 机制

2.1.1 UIO技术
详细技术细节参考如下链接:
问:IOVA和UIO什么关系和区别?
在高性能网络和内核旁路(Kernel Bypass)的技术栈里,UIO 和 IOVA 是两个处于不同维度的重要概念。简单来说:UIO 是一种内核驱动框架(解决"怎么绕过内核"的问题),而 IOVA 是一种地址空间定义(解决"网卡怎么寻址内存"的问题)。



2.1.2 VFIO技术
VFIO技术参考如下链接学习:
vfio概述(vfio/iommu/device passthrough)
问:VFIO与IOVA的关系?





3 MMIO

MMIO相关技术参考如下链接:
内存管理五大技术概念:MMU、IOMMU、MMIO、mmap、ioremap
4 总结
本章节介绍DPDK核心知识中的内核旁路与硬件交互基本概念。