读书人

kmalloc vmalloc 用法跟区别

发布时间: 2013-10-01 12:15:56 作者: rapoo

kmalloc vmalloc 用法和区别

参考:http://stackoverflow.com/questions/116343/what-is-the-difference-between-vmalloc-and-kmalloc

vmalloc 很少用,因为kernel中很少用虚拟内存 (返回的是逻辑地址)

kmalloc 的地址是连续的

kmalloc is the preferred way, as long as you don't need very big areas. The trouble is, if you want to do DMA from/to some hardware device, you'll need to use kmalloc, and you'll probably need bigger chunk.

当你需要大块内存的时候推荐用kmalloc , 且你使用DMA来与硬件设备交换数据的时候也需要用kmalloc(物理地址是连续的)

更详细的参看可以查看:

Linux Kernel Development by Robert Love (Chapter 12, page 244 in 3rd edition) answers this very clearly.

读书人网 >其他相关

热点推荐