谁能告诉我有没有Linux内核API可以给我免费的连续页面列表,起始页面地址是8字节对齐的?
我需要获得连续的物理内存,而不是虚拟内存。
发布于 2012-07-06 15:55:42
正如Paul R所说,使用kmalloc。
如果你分配的页数少于一个,那么你的分配将根据它的大小进行对齐,四舍五入到2的幂(即,分配40字节将得到一个64字节对齐的地址)。如果分配一页或更多页,则地址在页上对齐,即4096字节。
您获得的内存是虚拟的,但它是1-1映射到物理内存的,因此您可以获得连续的物理页面。
请注意,在Linux 2.6.22之前,它被限制为128KB (取决于体系结构和配置)。从2.6.22开始,限制为4MB (同样,取决于体系结构和配置)。
https://stackoverflow.com/questions/11357324
复制相似问题