[Barrelfish-users] page size in barrelfish virtual memory system

Xiaowen Wang xiaowenw at kth.se
Wed Oct 10 15:46:56 CEST 2012


Hi,

Thanks for your reply.

For my problem, my architecture requires 64KB small page size, much larger than 4KB, so that consumes much memory when running the function of "spawn_module(...)" (startup.c:174), and I noticed that in this function, when it allocates memory for "slot_alloc_cn0", for example, it requests "OBJBITS_CTE + SLOT_ALLOC_CNODE_BITS" amount of memory, in which "SLOT_ALLOC_CNODE_BITS" is defined as "DEFAULT_CNODE_BITS * 2" (barrelfish/init.h:91), which it is too big in my case. And the number of allocated memory grows exponentially with the page size. What it is the desired meaning of the "* 2"?

What is the meaning of this three CNodes of "slot_alloc_cn0", "slot_alloc_cn1" and "slot_alloc_cn2"?


Best regards,
Xiaowen Wang


----------------------------------------------------------------------------------------------------------------------------------------

On Wed, Oct 10, 2012 at 01:02:27AM +0000, Xiaowen Wang wrote:
> Recently I am porting Barrelfish to another architecture. I noticed that
> Barrelfish has "init" program which requires 4K pages for its virtuall memory.
> so does Barrelfish only allow 4K pages? or is it possible to change the size of
> "BASE_PAGE_SIZE"?

In principle you should be able to set BASE_PAGE_SIZE and friends (i.e.,
BASE_PAGE_BITS, etc.) to a different value for your architecture. In
practice, however, since all the architectures we support have 4K
page sizes, this has not been tested and you might get some surprises.  I
would think that if the new value is reasonable (e.g., not too small),
most of the problems --if any-- would be easy to fix.

cheers,
Kornilios.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20121010/a44f8785/attachment.html 


More information about the Barrelfish-users mailing list