Hi Daniel,
On 07/09/2013 09:36 PM, Daniel Waddington wrote:
Hi, We're having bad juju with dataspaces. As we try larger dataspaces things seem to go wrong (like hanging, bad mappings and exceptions).
Can someone check out my test program.. https://github.com/dwaddington/genode/blob/master/testing/src/core-api-1/mai...
and see what is going on? Basically if you change the total memory use in the program (line 26) to something ~ > 512MB, then region conflicts happen.
I tried this out this test on both fiasco.oc and nova with qemu and real PCs. Same result. The NOVA run reports an "unresolvable exception" by pager:core-api-1.
I could of course be doing something wrong with the APIs.
Daniel
When using 'Rm_session::attach()', the Rm_session_component tries to place the dataspace at an address which is aligned to the dataspace size. So, when setting NUM_REGIONS to 8 or 16, your test works, but with 10 regions there will be small holes in the address space and the last dataspace does not fit anywhere, causing a 'Region_conflict' exception.
Christian