[英]From the kernel to the user space (DMA)
最近,我一直在阅读很多网站,关于10gb / s NIC的书籍,他们的DMA以及linux内核(10/100 mb / s网卡)处理数据的方式,我想到了一些问题。
将10GB / s数据流从NIC发送到用户区的最简单方法是什么(我假设能够以相同的速率处理用户区中的数据)。
和
您是否认为在用户空间内实现DMA缓冲区以直接从那里读取原始数据(并以相同的速率处理它们)是一个好主意
或者是他们没有想到的更好的解决方案:/
谢谢。
我还建议看看PFQ框架( https://github.com/pfq/PFQ和http://netgroup.iet.unipi.it/software/pfq/ ),它构建于netmap之上, pf_ring概念并隐藏它们以允许在用户空间中进行简单的多核数据包处理。
我记得听过英特尔在渥太华Linux研讨会上的一些人的演讲,这些演讲完全实现了你提出的建议。 当他们测量结果与正常套接字接口时,他们惊讶地发现,对于许多工作负载,这种方法没有表现得更好,有时甚至更糟(!)然后是套接字接口。
我搜索但是现在无法在网上找到确切的纸张,但也许这会给你一个提示......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.