kmalloc分配高端内存

kmalloc 如果带GFP_HIGHUSER 参数,那么将在高端内存区获取空间

我的疑问是

unsigned long * addr = kmalloc(size_order,GFP_HIGHUSER )

1) kmalloc返回的是一个什么地址?

2) 在高端页框分配到空间后,由于没有经过映射,所以不会有线性地址,故addr为0?

谢谢

作者: wilbur512   发布时间: 2011-01-07

本帖最后由 EZWORD 于 2011-01-07 20:25 编辑

若有高端内存时kmalloc会正确返回,一般情况下返回的不都是逻辑地址吗。
kmalloc()分配的内存处于3GB~high_memory之间,这一段内核空间与物理内存的映射。
你那应该是没有分配到吧,可以看下错误码。

作者: EZWORD   发布时间: 2011-01-07