Error unable to initialize cap quota of PD

Jörg-Christian Böhme joerg at ...518...
Wed Aug 9 06:30:39 CEST 2017


Hi Norman,

Am Freitag, 4. August 2017 11:56:38 CEST schrieb Norman Feske:
>
> While giving the scenario a quick spin, I observed another cap-quota
> issue, which is caused by the too low default value of 50 - the value
> used for all <start> notes that lack an explicit 'caps' attribute. By
> setting this value to 100, the scenario starts up with NOVA on Qemu
> (tested on the current staging branch). However, apparently the launcher
> component also needs a few quota adjustments. I just fixed the
> corresponding parts in the commit [2] on the staging branch. May you
> give it a try?
>
> [2]
> https://github.com/genodelabs/genode/commit/94ef138f223ce6d9ab4a2608bc7cc73a76463335
>
I have tested it quickly, I checkout staging 
(commit 005820bb7bf6cb8b833b4227b8377984df5f9ceb) and build the launcher 
scenario. Now the scenario is started. Thanks Norman for your quick fix.
>
> The 'drivers' subsystem [5] is an init instance with 7
> children (as of now). Hence, assigning 1000 caps to the subsystem seems
> to be reasonable.
>
> [5] repos/os/recipes/raw/drivers_interactive-pc/drivers.config
>
Ok, drivers 'subsystem', that is what I missed. I haven't realized that the
'drivers.config' is a subsystem configuration.
>
> The limit of a component decreases each time it creates a session to a
> service where it transfers some of its own quota limit to the server.
>
> Initially, the limit of 'drivers' is 300. But as soon as 'drivers'
> creates sessions to the outside, its limit decreases step by step. You
> can think of the limit as the balance of a bank account. It you transfer
> money to another account, the balance decreases. The "used" value is the
> fraction of the quota that the component turned into actual resources
> (like RPC objects, dataspaces, signal handlers). To stay with the
> analogy, these are the purchased goods.
>
Ok, limit means also the 'free cap ressouces' for the component and this 
will
be transfered to other 'server components'. 'used' is only showing the 
using
of RPC objects, dataspaces, signal handlers of the actual/current 
component, 
not also from the other 'server component'. Now I got it.
>
> I hope the above explanation sounds logical.
>
Yes, many thanks for your detailed explanation. I think, I understood now.
>
> Thanks for bringing up this
> topic on the mailing list. You may not be the only one confused by the
> messages. Finally, let me compliment you for using the "diag" feature
> and for including all important details of your scenario at the start of
> your posting.
>
No, problem. I'm also a C++ developer in my company and I get sometimes
'problems/crash dumps' from my colleagues/customer to fix them without
any infos (build/version number, etc) :-).

Cheers
Jörg





More information about the users mailing list