Hi Norman
> our discussion intermingles two topics that should better stay separated.
>
> (A) How to overcome the road block of the Go runtime depending on an
> mmap feature, which is not available on Genode?
>
> (B) What happens when a component runs out of memory?
>
>> single application as a child of extenrally (not mine!) provided parent?
>
> I'm sorry about the confusion. I should have been more specific. Does my
> reply to Cedric [1] clarify that question?
Yes, I assume that for correct work we need something which we can control
during code writing. This approach is very close to what I mean.
Wile probably one question I still have - if the child, e.g. due to incorrect
request to parent, ask for too much resources and wait for response - what to
do?
As I understand, in current scheme parent should respond something to the child
waiting. In that case I still don’t see any clear picture what to do.
In your scheme described in the answer, management component probably is in
charge to do something if dynamic init can’t satisfy request… like kill/restart
or send some signal to hanging child (I don’t mean unix-like signal, just RPC
message if child can accept it). Is it true? What technically can be done in
such a case?
>
> That said, I don't have any magic spell for overcoming (A)
> unfortunately. Intuitively, I'd try to change the memory-allocation
> backend of the runtime, just like I stated in my previous posting. But
> since I haven't looked into the Go runtime myself, I unable to
> substantiate that.
This is complex question, I make some patches and overcome this issue (making
initial memory allocation small enough to be able to normally alloc it, seems
that runtime can work in this approach for some platforms), so, I can consider
(temporary) question A somehow bypassed.
For Question B I received a kind of satisfactory response that I can make
better inter-component config scheme which probably will solve my problem with
hanging RAM request, while I not yet checked it.
Now I hit another problem with setcontext/getcontext/makecontext/swapcontext
family which is not implemented, - probably I need to write separate email
thread question about ;-)
Thanks!
Sincerely,
Alexander
_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users