mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-26 17:01:07 +00:00
ec50c008bb
With this patch, the wm accounts RAM and caps consumed on behalf of its clients to the respective client's session quota instead of paying out of its own pocket. This should make the wm resilient against resource exhaustion and lowers the quota requirements. Issue #5340
107 lines
4.1 KiB
Plaintext
107 lines
4.1 KiB
Plaintext
<config>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="PD"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
<service name="Gui"/>
|
|
<service name="Timer"/>
|
|
<service name="Report"/>
|
|
</parent-provides>
|
|
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
|
|
<default caps="100"/>
|
|
|
|
<service name="Gui">
|
|
<default-policy> <child name="wm"/> </default-policy>
|
|
</service>
|
|
|
|
<service name="Report"> <!-- for reporting 'shape' and 'clipboard' reports through the wm -->
|
|
<default-policy> <child name="wm"/> </default-policy>
|
|
</service>
|
|
|
|
<service name="ROM"> <!-- for accessing 'clipboard' ROMs through the wm -->
|
|
<default-policy> <child name="wm"/> </default-policy>
|
|
</service>
|
|
|
|
<start name="report_rom">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides>
|
|
<service name="Report"/>
|
|
<service name="ROM"/>
|
|
</provides>
|
|
<config>
|
|
<policy label="layouter -> window_list" report="wm -> window_list"/>
|
|
<policy label="layouter -> focus_request" report="wm -> focus_request"/>
|
|
<policy label="layouter -> rules" report="layouter -> rules"/>
|
|
<policy label="decorator -> window_layout" report="layouter -> window_layout"/>
|
|
<policy label="wm -> resize_request" report="layouter -> resize_request"/>
|
|
<policy label="decorator -> pointer" report="wm -> pointer"/>
|
|
<policy label="layouter -> hover" report="decorator -> hover"/>
|
|
<policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/>
|
|
<policy label="wm -> focus" report="layouter -> focus"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="wm" caps="100">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides>
|
|
<service name="Gui"/> <service name="Report"/> <service name="ROM"/>
|
|
</provides>
|
|
<config>
|
|
<policy label_prefix="decorator" role="decorator"/>
|
|
<policy label_prefix="layouter" role="layouter"/>
|
|
<default-policy/>
|
|
</config>
|
|
<route>
|
|
<service name="ROM" label="resize_request"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="focus"> <child name="report_rom"/> </service>
|
|
<service name="Report" label_last="shape"> <parent/> </service>
|
|
<service name="Report" label_last="clipboard"> <parent/> </service>
|
|
<service name="ROM" label_last="clipboard"> <parent/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="Gui" label=""> <parent label="focus"/> </service>
|
|
<any-service>
|
|
<child name="nitpicker"/> <parent/> <any-child/>
|
|
</any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="layouter" caps="120">
|
|
<binary name="window_layouter"/>
|
|
<resource name="RAM" quantum="4M"/>
|
|
<route>
|
|
<service name="ROM" label="config"> <parent label="layouter.config"/> </service>
|
|
<service name="ROM" label="window_list"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="focus_request"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="rules"> <child name="report_rom"/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="Gui"> <child name="wm"/> </service>
|
|
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="decorator" caps="450">
|
|
<binary name="init"/>
|
|
<resource name="RAM" quantum="12M"/>
|
|
<route>
|
|
<service name="ROM" label="config">
|
|
<parent label="decorator_init.config"/> </service>
|
|
|
|
<service name="ROM" label="window_layout"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="pointer"> <child name="report_rom"/> </service>
|
|
<service name="Report" label="decorator_margins"> <child name="report_rom"/> </service>
|
|
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
|
<service name="Gui"> <child name="wm"/> </service>
|
|
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
</config>
|