Re: Aw: Re: Aw: Re: Affinity Subspace Mapping

2017-09-06 Thread Norman Feske
Hello Stephan,

> Unfortunately we could not rebase the testcase for 17.05 as it is
> part of my final thesis, that is based on 16.08 and understanding the
> changes for 17.05 and changing it would exceed my timely scope.
please accept my apology that I cannot follow up on your problem. Given
the many current developments, I am unable to justify spending my time
debugging problems on an one-year old Genode version, using an outdated
kernel and tool chain. I am sorry that this does not help you, but I did
not want to leave your last message unanswered.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Aw: Re: Aw: Re: Affinity Subspace Mapping

2017-08-24 Thread Stephan Lex
Hello Norman,


>* Do I need to use the argos-research/genode repository with the
> branch called 'checkpointRestore'?
>
>* Do I need to create a build directory for your customized version
>  of the base-foc platform, called 'focnados_pbxa9'?

My testcase is supposed to work with Genode 16.08, Fiasco.OC and pbx-A9 
platform. You should be able to test it with vanilla Genode 16.08 in a build 
directory foc_pbxa9 with the original Genode 16.08 arm toolchain. Focnados and 
the rest of our Rtcr component is not used in this testcase.
Unfortunately we could not rebase the testcase for 17.05 as it is part of my 
final thesis, that is based on 16.08 and understanding the changes for 17.05 
and changing it would exceed my timely scope.


>* Even though you instruct Qemu to emulate a 4-core machine, the
>  Platform::affinity_space method reports a physical affinity space of
>  2x1. Maybe the CPU detection is at fault? Or the kernel indeed
>  only sees 2 CPUs? Anyhow, the logical affinity space of 4x1 as defined
>  in your init configuration is ultimately mapped to a physical affinity
>  space of 2x1, which is certainly not your intention. 

In my case an inserted log reports the desired 4 cores from 
Platform::affinity_space. The log is located in 
/repos/base-foc/src/core/platform.cc inside 
Platform::affinity_space and outputs the variable 'cpus_online'
 
>* The member variable '_location' is designated for the location of a
>  thread within the physical affinity space but it is not used anywhere.
>  Instead, the value should somehow end up being specified to a kernel
>  operation during the thread creation. Hence, regardless of the
>  affinity arguments, they remain without effect.

This is a bit confusing for me. As i understand it following things should 
happen in my case:
At child creation i pass a capability for a cpus session as well as a 
Child:Initial_thread object that is seeded with the same cpu session. I create 
the cpu session by opening a connection to it and passing the desired affinity 
with it. Shouldn't this be enough to let the child use this affinity, or did i 
miss something there?

I also attached a little image for you that shows how i want the components to 
be bound repectively. 
First, is it possible to bind different components to fixed different cores 
like shown in the image?
Second, is it possible to dynamically spawn a child from within parents (in my 
example affinity_test_parent) code on another core?

If my approach of distributing the components to different cores is not 
correct, it would be very good for me, if you could tell me how such a 
partition has to look as the Genode framework intends it.


Thank you and kind regards,
Stephan Lex

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main