我很想知道为什么我应该尝试多包发送PACKET_MMAP方法。
我每20毫秒获得大约3百万字节的数据质量,我将通过10gbps接口发送。
我需要处理数据包中的所有数据,以便数据将在缓存中,然后我只是以“正常”方式(sendto)发送它。在这种情况下,移动到内核将来自缓存,以便进行一次内存传输。
由于我需要使用PACKET_MMAP处理数据包中的所有数据,因此也可以将数据从用户空间移动到用户空间,然后从用户空间移动DMA。 PACKET_MMAP会让我获得什么吗?我的猜测是,它不会因为两种方法都会移动数据一次,甚至在(sendto)情况下它看起来像两次,因为数据将驻留在缓存中,它将只有效一次..
我错了吗?
感谢您的帮助。
/安德斯。