#ifndef CONFIG_FORCE_MAX_ZONEORDER
#define MAX_ORDER 11
#else
#define MAX_ORDER CONFIG_FORCE_MAX_ZONEORDER
#endif
#define MAX_ORDER_NR_PAGES (1 << (MAX_ORDER - 1))
__alloc_pages_slowpath中检查的code如下:如果没有定义CONFIG_FORCE_MAX_ZONEORDER的话,通过__get_free_pages等接口申请到的最大memroy是4M(假定page size是4k)
if (order >= MAX_ORDER) {
WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));
return NULL;
}
这个值具体是在kconfig中定义的