Hi Daniel,

On 10.07.2013 16:48, Daniel Waddington wrote:
> Hi Alex,
> I see, so there is some 2^N round up.  Why is this, I thought it used an
> AVL tree to manage memory?

>From my understanding it's a mapping optimization for some kernels. Something 
>like: mapping 64M to another task can be done with one
syscall if the address has 64M alignment. But I'm not familiar with the 
details, perhaps somebody else can help out here?

> Also, can you run the test with..
>
> #define NUM_REGIONS 15
> #define TOTAL_MEMORY_TO_USE GB(2)
> #define REGION_SIZE MB(96)
>
> I then get unhandled page faults.  Can you see why?
>
> Thanks
> Daniel
>

When only changing these values, the RAM dataspace is too small (phys_slab_size 
= GB(1)) for 15 regions of 96M. Usually, it would be
an error if 'Ram_session::attach()' gets called with an 'offset' which exceeds 
the size of the dataspace (which happens in this
case), but if I remember correctly there was a use case where this was valid. 
Something with ELF images and the dynamic linker.
@ssumpf, do you remember? We should probably document this in 
'Rm_session_component::attach()', why no exception gets thrown if
'size' is given and (offset >= dsc()->size()).

Christian


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Genode-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to