diff options
Diffstat (limited to 'arch/parisc/mm/init.c')
| -rw-r--r-- | arch/parisc/mm/init.c | 27 | 
1 files changed, 6 insertions, 21 deletions
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 3ac462de53a..ce939ac8622 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c @@ -505,7 +505,6 @@ static void __init map_pages(unsigned long start_vaddr,  void free_initmem(void)  { -	unsigned long addr;  	unsigned long init_begin = (unsigned long)__init_begin;  	unsigned long init_end = (unsigned long)__init_end; @@ -533,19 +532,10 @@ void free_initmem(void)  	 * pages are no-longer executable */  	flush_icache_range(init_begin, init_end); -	for (addr = init_begin; addr < init_end; addr += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(addr)); -		init_page_count(virt_to_page(addr)); -		free_page(addr); -		num_physpages++; -		totalram_pages++; -	} +	num_physpages += free_initmem_default(0);  	/* set up a new led state on systems shipped LED State panel */  	pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); -	 -	printk(KERN_INFO "Freeing unused kernel memory: %luk freed\n", -		(init_end - init_begin) >> 10);  } @@ -697,6 +687,8 @@ void show_mem(unsigned int filter)  	printk(KERN_INFO "Mem-info:\n");  	show_free_areas(filter); +	if (filter & SHOW_MEM_FILTER_PAGE_COUNT) +		return;  #ifndef CONFIG_DISCONTIGMEM  	i = max_mapnr;  	while (i-- > 0) { @@ -1077,6 +1069,7 @@ void flush_tlb_all(void)  {  	int do_recycle; +	inc_irq_stat(irq_tlb_count);  	do_recycle = 0;  	spin_lock(&sid_lock);  	if (dirty_space_ids > RECYCLE_THRESHOLD) { @@ -1097,6 +1090,7 @@ void flush_tlb_all(void)  #else  void flush_tlb_all(void)  { +	inc_irq_stat(irq_tlb_count);  	spin_lock(&sid_lock);  	flush_tlb_all_local(NULL);  	recycle_sids(); @@ -1107,15 +1101,6 @@ void flush_tlb_all(void)  #ifdef CONFIG_BLK_DEV_INITRD  void free_initrd_mem(unsigned long start, unsigned long end)  { -	if (start >= end) -		return; -	printk(KERN_INFO "Freeing initrd memory: %ldk freed\n", (end - start) >> 10); -	for (; start < end; start += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(start)); -		init_page_count(virt_to_page(start)); -		free_page(start); -		num_physpages++; -		totalram_pages++; -	} +	num_physpages += free_reserved_area(start, end, 0, "initrd");  }  #endif  |