-
引用
删除
netarchon
/ 2009-05-27 05:21:12
- 楼主对RTIRQ的解释不对,你的理解其实指的是device polling,在一个中断期间禁用该设备的中断,并一直poll该设备中接收的数据包,直到没有了或超过一定的数量或超过一定的时间,才重新使能该设备。而RTIRQ是为了保证系统调用有一个time上的constraint,在pf_ring中主要是为了解决poll开销太大的问题,不过最近采用adaptive 的poll已经解决了这个问题。
-
采用PF_RING技术,操作系统将包采用DMA方式拷贝到内核缓冲区的环形队列中,再把网卡缓冲区中收到的这些包丢弃,不把他们传入内核协议栈缓存区中进行排队。环形缓存区在每个套接字被建立时分配,直到套接字关闭时,环形缓存区才被释放。每次由网卡缓存区拷入内核环形缓存区时,不会进行分配和去配的操作,而是新到的包按环形的方式,将原有的包覆盖。PF_RING技术提供了对MMAP技术的支持。该技术将用户应用程序空间映射到内核缓存区,从而省略了将数据从内核缓存区向用户缓存区的拷贝操作。即所说的零拷贝技术。这样可以节省一次拷贝所占用的系统资源,和缩短包处理的时间。
我对基于设备轮询,PF_RING机制的理解
最新推荐文章于 2024-07-08 16:47:57 发布