不对吧kmallock在物理上是连续的,dma就需要用他
时间: 2024-03-07 12:53:37 浏览: 131
您是正确的,非常抱歉我的回答还是有误。kmalloc分配的内存在物理上是连续的,这使得它非常适合作为DMA缓冲区。DMA操作需要使用物理地址来访问内存,因此需要分配一段物理上连续的内存。
当使用kmalloc分配内存时,它会在物理内存中分配一段连续的物理页面,并将这些页面映射到一段连续的虚拟地址空间中。这种映射关系可以通过调用kmap函数来获得,并且可以用于DMA操作。
因此,在需要进行DMA操作时,可以使用kmalloc分配内存,并使用kmap函数获取物理地址,以便进行DMA操作。
阅读全文