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

Reply via email to