vmalloc 中的__GFP_HIGHMEM标志

1958阅读 0评论2011-03-23 zhangliangfnst
分类:LINUX

一直以为只在高端分配,后来想想是不太可能的。在虚拟机做个实验之分配512M内存 vmalloc依然分配成功。
仔细阅读代码发现:
& ) &&
(*, ))
& )) {
;
& )
= (*)->;
& )
= (*)->;
= (*)->;
(*, , ,
, ))
||
(*, , ))
= (, *, , );
) {
891                         break;
892                 }
893         } while (*(++) != );
*z是指向zone的指针 ++z 由于struct zone **z,所以指针增加一个struct zone *大小 指向下一个zone
既由HIGHMEM 指向了NORMAL 然后while 一切清晰起来。。
上一篇:Slab 分析(二)
下一篇:round_hint_to_min