Hi, * Jay Lan <jlan at sgi.com> [2008-07-08 11:30]: > > By "memory holes", did you mean zero value memory or memory gap > as you can see from /proc/iomem? For example, > 26003000000-26033dfffff : System RAM > 26033e00000-260f7ffffff : System RAM <-- big gap b/t this and next > 26800000000-268f7ffffff : System RAM > > If latter, the gap represents address gap between nodes and are > non-existent memory. Right. > We do not need to spend time on non-existent memory. See the loop below. The code processes very PFN and checks for it 3488 static inline int 3489 is_in_segs(unsigned long long paddr) 3490 { 3491 if (paddr_to_offset(paddr)) 3492 return TRUE; 3493 else 3494 return FALSE; 3495 } The whole process takes about 1 minute on a machine with 14 GiB memory. So it's worth printing a progress bar. (Proabably that code could be optimised, but that's an additional step.) Bernhard -- Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development