On Tue, 11 Jul 2006 10:33:31 +0200, Franck Bui-Huu <vagabon.xyz@xxxxxxxxx> wrote: > > 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 ? If holes exist in a section, show_mem() will count these pages as "reserved". You can count real pages by "total - reserved". Talking about nr_kernel_pages (calculated by zones_size[] and zones_holes[]) and num_physpages, these values are used to determine sizes of some kernel data structures, it would be better to set more precise value for them. While large holes in a section wastes some memory, make the section size customizable might be a good idea. Anyone? ;-) --- Atsushi Nemoto