On Tue, 11 Jul 2006 10:33:31 +0200, Franck Bui-Huu <firstname.lastname@example.org>
> > 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))
> page = pfn_to_page(pfn);
> 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? ;-)