当然这时候我们这些标识都是通过宏的方式来实现的, 而不是如今的枚举类型
MAX_NR_NODES是可以存在的节点的最大数...., 如果该比特未被置位, 说明有使用者正在操作该page, 则内核的其他部分不允许访问该页, 这可以防止内存管理出现竞态条件
PG_error 如果涉及该page的I/O操作发生了错误, 则该位被设置...PG_uncached
PG_hwpoison
PG_young
PG_idle
内核中提供了一些标准宏,用来检查、操作某些特定的比特位,这些宏定义在include/linux/page-flags.h..., 这些标识大多通过enum枚举常量来定义, 然后__NR_XXXX的形式结束, 正好可以标记出宏参数的个数, 但是在早期的实现中, 这些变量都通过宏来标识
例如我们的page->flags用enum...v=2.4.37, line 324
形式如下
PageXXX(page):检查page是否设置了PG_XXX位
SetPageXXX(page):设置page的PG_XXX位
ClearPageXXX