在内核2.4.37,有在宏page.h是这样的:
struct page *mem_map;
struct page *page;
#define VALID_PAGE(page) ((page - mem_map) < max_mapnr)
我知道mem_map
是的数组struct page
,page
是struct
,那page - mem_map
是什么意思?
它将计算mem_map数组中相应页面的索引,这意味着它在mem_map数组中是哪个页面数,可以说它是pfn或linux的页面帧数(Linux假定mem_map数组以0th pfn开头到最大pfn),添加到pfn的PHYS_PFN_OFFSET将为您提供内存映射中的实际物理页面框架。__page_to_pfn
max_mapnr是最大映射页面数或最大页面帧数的限制。set_max_mapnr
希望它能消除您的疑虑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句