Hi,

* Jay Lan <[EMAIL PROTECTED]> [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

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to