mk.*_*k.. 2 kernel memory-management linux-kernel
我们可以在一次调用中使用 kzalloc() 分配的最大大小是多少?
这是一个非常常见的问题。另外请让我知道我是否可以验证该值。
上限(可以在单个 kmalloc / kzalloc 请求中分配的字节数)是以下因素的函数:处理器——实际上是页面大小——以及伙伴系统空闲列表的数量 (MAX_ORDER)。
在 x86 和 ARM 上,标准页面大小为 4 Kb,MAX_ORDER 为 11,单个调用的 kmalloc 上限为 4 MB!
详细信息,包括解释和测试代码,在这里:http : //kaiwantech.wordpress.com/2011/08/17/kmalloc-and-vmalloc-linux-kernel-memory-allocation-api-limits/
归档时间: |
|
查看次数: |
8288 次 |
最近记录: |