Linux 零拷贝

标签 linux pci zero-copy

我有一个 PCI 设备需要从用户空间读取和写入。我正在尝试使用零拷贝;有没有一种方法可以完全在用户空间内分配、固定和获取用户空间地址的物理地址,或者我是否需要一个内核模块,比如调用 virt_to_phys 或 get_user_pages?设备的内存通过 MMIO 映射到用户空间内存,因此我可以将任何需要的数据传递给它。谢谢。

最佳答案

这完全是一次 hack,但我将 Linux 限制在一个内存范围内,并使用 MMIO 为我的设备分配内核不知道的内存。

关于Linux 零拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988482/

相关文章:

c - 无法打开/sys/bus/pci/devices/0000 :00:01. 0/resource

linux - 无法设置PCI配置空间的latency_timer寄存器的值

c - 使用和不使用 Scatter/Gather 操作的零拷贝

memory - 在 OpenCL(如 CUDA)中是否有供内核使用的主机内存的设备端指针?

linux - 使用 automake 设置每个文件的标志

linux - 根据操作系统特有的文件检测操作系统

linux - 从 PCI 设备复制到 CUDA GPU 内存

c++ - 如何在 Boost.Asio 中使用零拷贝 sendmsg/Receive

c - fatal error : tlpi_hdr. h:没有那个文件或目录

linux - 如何在 Linux Ubuntu 上重置 yakuake 配置?