Dataspace juju

Daniel Waddington waddy16925 at ...9...
Thu Jul 11 16:57:08 CEST 2013


So Christian.  Just to offer some more information.  We had an issue
with mapping where by memory was being corrupted, I think by overlapping
of the memory mappings.  I cannot give you a simple test since it only
seems to happen with a big machine with lots of memory.  Anyway, the fix
was to align the sub_rm allocations to 2^N.

So I think there is a bug somewhere either in our code, Genode code or
Fiasco.OC.  For the moment rounding up works for us.

Best
Daniel

On Wed, 2013-07-10 at 13:18 -0700, Daniel Waddington wrote:
> Sorry. My mistake.
> Daniel
> 
> On Wed, 2013-07-10 at 22:04 +0200, Christian Prochaska wrote:
> > Hi Daniel,
> > 
> > TOTAL_MEMORY_TO_USED was only used to calculate REGION_SIZE, but the RAM dataspace size is still set to GB(1).
> > 
> > When increasing the RAM dataspace size to 2G, I'm getting the error
> > 
> > We ran out of physical memory while allocating - bytes
> > [init -> core-api-1] Assertion failed:ram.alloc() failed
> > 
> > but not the page faults.
> > 
> > Christian
> > 
> > On 10.07.2013 21:52, Daniel Waddington wrote:
> > > Hi Christian,
> > > But this is 2GB which even rounded up to 128M is 1920MB??  The RAM
> > > dataspace should be plenty big enough.
> > >
> > > Daniel
> > >
> > > On Wed, 2013-07-10 at 20:26 +0200, Christian Prochaska wrote:
> > >> 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
> > >> Genode-main at lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/genode-main
> > >
> > >
> > > ------------------------------------------------------------------------------
> > > 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
> > > Genode-main at lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/genode-main
> > 
> > 
> > ------------------------------------------------------------------------------
> > 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
> > Genode-main at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> 
> 
> 
> ------------------------------------------------------------------------------
> 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
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main






More information about the users mailing list