sparsemem ppc64 tidy flat memory comments and fix benign mempresent call

Joel Schopp jschopp at austin.ibm.com
Tue May 10 09:03:51 EST 2005


> diff -upN reference/arch/ppc64/mm/init.c current/arch/ppc64/mm/init.c
> --- reference/arch/ppc64/mm/init.c
> +++ current/arch/ppc64/mm/init.c
> @@ -631,18 +631,19 @@ void __init do_init_bootmem(void)
>  
>  	max_pfn = max_low_pfn;
>  
> -	/* add all physical memory to the bootmem map. Also, find the first
> -	 * presence of all LMBs*/
> +	/* Add all physical memory to the bootmem map, mark each area
> +	 * present.  The first block has already been marked present above.
> +	 */
>  	for (i=0; i < lmb.memory.cnt; i++) {
>  		unsigned long physbase, size;
>  
>  		physbase = lmb.memory.region[i].physbase;
>  		size = lmb.memory.region[i].size;
> -		if (i) { /* already created mappings for first LMB */
> +		if (i) {
>  			start_pfn = physbase >> PAGE_SHIFT;
>  			end_pfn = start_pfn + (size >> PAGE_SHIFT);
> +			memory_present(0, start_pfn, end_pfn);
>  		}
> -		memory_present(0, start_pfn, end_pfn);
>  		free_bootmem(physbase, size);
>  	}

Instead of moving all that around why don't we just drop the duplicate 
and the if altogether?  I tested and sent a patch back in March that 
cleaned up the non-numa case pretty well.

http://sourceforge.net/mailarchive/message.php?msg_id=11320001




More information about the Linuxppc64-dev mailing list