linux下,设备DMA数据至0xF0000000,使用mmap映射,然后memcpy,效率相当低,16M需要400ms,有办法提高?

用户内存,一般memcpy16M数据只要几十ms...
2026年09月27日 13:35
有2个网友回答
网友(1):

你要先找到瓶颈在哪里?
1)设备dma速率。 不要映射,直接在内核memcpy 设备DMA数据,看速率

2)mmap效率。 不要用DMA的内存做映射,用内核申请的内存做映射,然后在用户控件memcpy,看速率

3)用户memcpy效率。这个你已经测试过了,不是问题

网友(2):

楼主找到问题所在了吗?我现在遇到跟楼主一样的问题,942080个字节memcpy,mmap的拷贝到malloc地址,需要108Ms。也在找原因。