void __init zone_sizes_init(void) { unsigned long zones_size[MAX_NR_ZONES], zholes_size[MAX_NR_ZONES]; unsigned long low, start_pfn; int nid, i; mem_prof_t *mp; for_each_online_node(nid) { mp = &mem_prof[nid]; for (i = 0 ; i < MAX_NR_ZONES ; i++) { zones_size[i] = 0; zholes_size[i] = 0; } start_pfn = START_PFN(nid); low = MAX_LOW_PFN(nid); zones_size[ZONE_DMA] = low - start_pfn; zholes_size[ZONE_DMA] = mp->holes; node_set_state(nid, N_NORMAL_MEMORY); free_area_init_node(nid, zones_size, start_pfn, zholes_size); } /* * For test * Use all area of internal RAM. * see __alloc_pages() */ NODE_DATA(1)->node_zones->watermark[WMARK_MIN] = 0; NODE_DATA(1)->node_zones->watermark[WMARK_LOW] = 0; NODE_DATA(1)->node_zones->watermark[WMARK_HIGH] = 0; }
unsigned long __init zone_sizes_init(void) { unsigned long zones_size[MAX_NR_ZONES], zholes_size[MAX_NR_ZONES]; unsigned long low, start_pfn; unsigned long holes = 0; int nid, i; mem_prof_t *mp; for_each_online_node(nid) { mp = &mem_prof[nid]; for (i = 0 ; i < MAX_NR_ZONES ; i++) { zones_size[i] = 0; zholes_size[i] = 0; } start_pfn = START_PFN(nid); low = MAX_LOW_PFN(nid); zones_size[ZONE_DMA] = low - start_pfn; zholes_size[ZONE_DMA] = mp->holes; holes += zholes_size[ZONE_DMA]; free_area_init_node(nid, NODE_DATA(nid), zones_size, start_pfn, zholes_size); } /* * For test * Use all area of internal RAM. * see __alloc_pages() */ NODE_DATA(1)->node_zones->pages_min = 0; NODE_DATA(1)->node_zones->pages_low = 0; NODE_DATA(1)->node_zones->pages_high = 0; return holes; }