/* * Make memory less nodes become a member of the known nodes. */ for_each_node_mask(node, memory_less_mask) pgdat_insert(mem_data[node].pgdat);  
void __init paging_init(void){	unsigned long max_dma;	unsigned long zones_size[MAX_NR_ZONES];	unsigned long zholes_size[MAX_NR_ZONES];	unsigned long pfn_offset = 0;	int node;	max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT;	/* so min() will work in count_node_pages */	for_each_online_node(node)		mem_data[node].min_pfn = ~0UL;	efi_memmap_walk(filter_rsvd_memory, count_node_pages);	for_each_online_node(node) {		memset(zones_size, 0, sizeof(zones_size));		memset(zholes_size, 0, sizeof(zholes_size));		num_physpages += mem_data[node].num_physpages;		if (mem_data[node].min_pfn >= max_dma) {			/* All of this node's memory is above ZONE_DMA */			zones_size[ZONE_NORMAL] = mem_data[node].max_pfn -				mem_data[node].min_pfn;			zholes_size[ZONE_NORMAL] = mem_data[node].max_pfn -				mem_data[node].min_pfn -				mem_data[node].num_physpages;		} else if (mem_data[node].max_pfn < max_dma) {			/* All of this node's memory is in ZONE_DMA */			zones_size[ZONE_DMA] = mem_data[node].max_pfn -				mem_data[node].min_pfn;			zholes_size[ZONE_DMA] = mem_data[node].max_pfn -				mem_data[node].min_pfn -				mem_data[node].num_dma_physpages;		} else {			/* This node has memory in both zones */			zones_size[ZONE_DMA] = max_dma -				mem_data[node].min_pfn;			zholes_size[ZONE_DMA] = zones_size[ZONE_DMA] -				mem_data[node].num_dma_physpages;			zones_size[ZONE_NORMAL] = mem_data[node].max_pfn -				max_dma;			zholes_size[ZONE_NORMAL] = zones_size[ZONE_NORMAL] -				(mem_data[node].num_physpages -				 mem_data[node].num_dma_physpages);		}		if (node == 0) {			vmalloc_end -=				PAGE_ALIGN(max_low_pfn * sizeof(struct page));			vmem_map = (struct page *) vmalloc_end;			efi_memmap_walk(create_mem_map_page_table, NULL);			printk("Virtual mem_map starts at 0x%p\n", vmem_map);		}		pfn_offset = mem_data[node].min_pfn;		NODE_DATA(node)->node_mem_map = vmem_map + pfn_offset;		free_area_init_node(node, NODE_DATA(node), zones_size,				    pfn_offset, zholes_size);	}	zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/564601a5d12f93fdde04c6bc5b097b95e7752a46/discontig.c/buggy/arch/ia64/mm/discontig.c