alloc_pages Linux内核返回的页面

时间:2016-06-29 07:11:33

标签: linux memory linux-kernel

  • 是否在内核中使用alloc_pages分配页面,如果相关,也会映射供用户使用,确保固定并且不会交换到磁盘?
  • alloc_pages函数返回的页面地址是dma地址吗?也就是说,它是否与硬件设备可以通过dma访问的地址类型相同?

1 个答案:

答案 0 :(得分:0)

  

是否在内核中使用alloc_pages分配页面,也为用户映射   使用,如果相关,确保固定,不会被交换   出磁盘?

alloc_pages()为内核和用户空间分配页面,取决于谁在调用它。用户空间使用的页面。如果它是匿名(用户堆栈或堆)页面,则可以将其换出。

  

alloc_pages函数返回的页面地址是   dma地址?也就是说,它是与硬件设备相同的地址类型   可以通过dma访问吗?

没必要。你必须指定一个标志告诉alloc_pages()你想要什么样的页面(例如.__ GFP_DMA或__GFP_DMA32用于dma地址)。