Re: sparsemem panic in 2.6.17-rc5-mm1 and -mm2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 6 Jun 2006 00:27:58 -0700
Andrew Morton <[email protected]> wrote:

> 
> I tried sparsemem on my little x86 box here.  Boots OK, after fixing up the
> kswapd_init() patch (below).
> 
> I'm wondering why I have 4k of highmem:
> 

Could you show /proc/iomem of your 4k HIGHMEM box ?
Does 4k HIGHMEM exist only when SPARSEMEM is selected ?

Thanks,
-Kame






> MemTotal:       898200 kB
> MemFree:        832936 kB
> Buffers:          8824 kB
> Cached:          30140 kB
> SwapCached:          0 kB
> Active:          25052 kB
> Inactive:        20800 kB
> HighTotal:           4 kB
> HighFree:            4 kB
> LowTotal:       898196 kB
> LowFree:        832932 kB
> SwapTotal:     1020116 kB
> SwapFree:      1020116 kB
> Dirty:               0 kB
> Writeback:           0 kB
> Mapped:          10340 kB
> Slab:            10252 kB
> CommitLimit:   1469216 kB
> Committed_AS:    15496 kB
> PageTables:        528 kB
> VmallocTotal:   114680 kB
> VmallocUsed:       648 kB
> VmallocChunk:   113980 kB
> HugePages_Total:     0
> HugePages_Free:      0
> HugePages_Rsvd:      0
> Hugepagesize:     4096 kB
> 
> The dmesg is at http://www.zip.com.au/~akpm/linux/patches/stuff/log-vmm. 
> The machine has 900MB of memory (9*128M).
> 
> 
> <enables UNALIGNED_ZONE_BOUNDARIES like the nice message says>
> <http://www.zip.com.au/~akpm/linux/patches/stuff/log-vmm-2>
> 
> Nope, I still have a 4k highmem zone.
> 
> 
> 
> btw Andy, that UNALIGNED_ZONE_BOUNDARIES message is useless.  Only 0.1% of
> users even have the knowledge how to recompile their kernel, let alone the
> inclination.  Can we do something smarter here?
> 
> <goes off to use his one-page highmem zone for something>
> 
> 
> 
> --- devel/mm/vmscan.c~initialise-total_memory-earlier	2006-06-05 23:59:50.000000000 -0700
> +++ devel-akpm/mm/vmscan.c	2006-06-06 00:00:59.000000000 -0700
> @@ -111,7 +111,7 @@ struct shrinker {
>   * From 0 .. 100.  Higher means more swappy.
>   */
>  int vm_swappiness = 60;
> -static long total_memory;
> +long total_memory;
>  
>  static LIST_HEAD(shrinker_list);
>  static DECLARE_RWSEM(shrinker_rwsem);
> @@ -1499,7 +1499,6 @@ static int __init kswapd_init(void)
>  	for_each_online_node(nid)
>   		kswapd_run(nid);
>  
> -	total_memory = nr_free_pagecache_pages();
>  	hotcpu_notifier(cpu_callback, 0);
>  	return 0;
>  }
> diff -puN mm/page_alloc.c~initialise-total_memory-earlier mm/page_alloc.c
> --- devel/mm/page_alloc.c~initialise-total_memory-earlier	2006-06-06 00:00:13.000000000 -0700
> +++ devel-akpm/mm/page_alloc.c	2006-06-06 00:01:28.000000000 -0700
> @@ -1725,9 +1725,9 @@ void __meminit build_all_zonelists(void)
>  		stop_machine_run(__build_all_zonelists, NULL, NR_CPUS);
>  		/* cpuset refresh routine should be here */
>  	}
> -
> -	printk("Built %i zonelists\n", num_online_nodes());
> -
> +	total_memory = nr_free_pagecache_pages();
> +	printk("Built %i zonelists.  Total memory: %ld pages\n",
> +			num_online_nodes(), total_memory);
>  }
>  
>  /*
> diff -puN include/linux/swap.h~initialise-total_memory-earlier include/linux/swap.h
> --- devel/include/linux/swap.h~initialise-total_memory-earlier	2006-06-06 00:00:44.000000000 -0700
> +++ devel-akpm/include/linux/swap.h	2006-06-06 00:00:56.000000000 -0700
> @@ -185,6 +185,7 @@ extern unsigned long try_to_free_pages(s
>  extern unsigned long shrink_all_memory(unsigned long nr_pages);
>  extern int vm_swappiness;
>  extern int remove_mapping(struct address_space *mapping, struct page *page);
> +extern long total_memory;
>  
>  #ifdef CONFIG_NUMA
>  extern int zone_reclaim_mode;
> _
> 
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux