【发布时间】:2012-09-24 15:42:02
【问题描述】:
KMALLOC 是只分配页面大小的内存还是可以分配更少的内存? kmalloc 可以分配的大小是多少? 我在哪里可以找到它的描述,因为我到处看它并没有真正说明它分配了多少内存? 我想知道 KMALLOC 分配的实际大小是多少。 它是否分配 2 的幂大小? 它只是从准备好的缓存中找到空闲对象吗?
【问题讨论】:
-
kmalloc()的源代码可以为您提供所有这些信息。至于实际分配的内存量,请参见ksize() function。有时,kmalloc()确实在适当的缓存中寻找一个空闲对象,有时它诉诸于分配整个页面。是的,kmalloc可以分配实际大小小于一页的块。实现会随着时间而变化,因此分析kmalloc()的源代码可能比查找任何其他文档更有用。
标签: c linux memory linux-kernel