I am quite sure that the e15 memory controller does not play nice with
Linux's initrd support.

>From what I gather, the memory used by initrd is setup by the bootloader.
For this reason, the pages that back the initrd memory are _not_ obtained
via __page_alloc, which I believe is the ckrm's memory controller's
assumption.  The system currently hits a "BUG_ON" check in one of the
ckrm_mem inline functions, because it encounters a page that does not belong
to a page.

Any one on this list know how initrd works in detail? Is it the case that
its memory is not obtained through __page_alloc? How is it copied to the
RAMFS, and are the RAMFS pages obtained through __page_alloc?

Not sure what the best way is to move forward from here. One approach is to
ignore pages that do not belong to a ckrm page? Alternatively, register such
pages with ckrm's memory controller? However, this alternative approach
requires that the memory controller be registered pretty early (before
populate_rootfs() gets called in init/main.c), which doesn't warrant the
effort because the pages will be deallocated once the system switches to the
real root.



-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech

Reply via email to