Atsushi Nemoto wrote: > On Mon, 10 Jul 2006 13:34:06 +0200, "Franck Bui-Huu" <vagabon.xyz@xxxxxxxxx> wrote: > >> can we use pfn_valid() instead of page_is_ram() ? bootmem_init() and >> sparse_init() have already been called so pfn_valid() should be safe >> here.... > > We can, but we can get more precise value using page_is_ram(). The > pfn_valid() returns true for _all_ pages on present section, and > currently the section size is 256MB. so your total pages of RAM in show_mem() is incorrect... if (!pfn_valid(pfn)) continue; page = pfn_to_page(pfn); total++; I don't know SPARSEMEM a lot but is it allowed to have holes inside a section ? Shouldn't we tune the section size to avoid holes inside section ? > >>> - max_mapnr = num_physpages = highend_pfn; >>> + max_mapnr = highend_pfn; >>> #else >>> - max_mapnr = num_physpages = max_low_pfn; >>> + max_mapnr = max_low_pfn; >> this is not always true, specially if FLATMEM set and your physical mem >> do not start at 0. > > Yes, and I think you are preparing a patch for these systems ;-) > good point :) Franck