pgdat_resize_unlock(pgdat, &flags);
void show_mem(void){	int total = 0, reserved = 0;	int shared = 0, cached = 0;	int highmem = 0;	struct page *page;	pg_data_t *pgdat;	unsigned long i;	printk("Mem-info:\n");	show_free_areas();	printk("Free swap:       %6ldkB\n",nr_swap_pages<<(PAGE_SHIFT-10));	for_each_pgdat(pgdat) {		for (i = 0; i < pgdat->node_spanned_pages; ++i) {			page = pgdat_page_nr(pgdat, i);			total++;			if (PageHighMem(page))				highmem++;			if (PageReserved(page))				reserved++;			else if (PageSwapCache(page))				cached++;			else if (page_count(page))				shared += page_count(page) - 1;		}	}	printk("%d pages of RAM\n", total);	printk("%d pages of HIGHMEM\n",highmem);	printk("%d reserved pages\n",reserved);	printk("%d pages shared\n",shared);	printk("%d pages swap cached\n",cached);}