mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-31 19:17:04 +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
99 lines
3.9 KiB
Plaintext
99 lines
3.9 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="ROM">
|
|
<policy label_suffix=" -> window_list">
|
|
<child name="report_rom" label="layouter -> window_list"/> </policy>
|
|
<policy label_suffix=" -> focus_request">
|
|
<child name="report_rom" label="layouter -> focus_request"/> </policy>
|
|
<policy label_suffix=" -> hover">
|
|
<child name="report_rom" label="layouter -> hover"/> </policy>
|
|
<policy label_suffix=" -> decorator_margins">
|
|
<child name="report_rom" label="layouter -> decorator_margins"/> </policy>
|
|
<policy label_suffix=" -> rules">
|
|
<child name="report_rom" label="layouter -> rules"/> </policy>
|
|
<policy label_suffix=" -> window_layout">
|
|
<child name="report_rom" label="decorator -> window_layout"/> </policy>
|
|
<policy label_suffix=" -> pointer">
|
|
<child name="report_rom" label="decorator -> pointer"/> </policy>
|
|
<policy label_suffix=" -> clipboard">
|
|
<child name="wm"/> </policy>
|
|
</service>
|
|
|
|
<service name="Report">
|
|
<policy label_suffix=" -> window_layout">
|
|
<child name="report_rom" label="layouter -> window_layout"/> </policy>
|
|
<policy label_suffix=" -> resize_request">
|
|
<child name="report_rom" label="layouter -> resize_request"/> </policy>
|
|
<policy label_suffix=" -> focus">
|
|
<child name="report_rom" label="layouter -> focus"/> </policy>
|
|
<policy label_suffix=" -> rules">
|
|
<child name="report_rom" label="layouter -> rules"/> </policy>
|
|
<policy label_suffix=" -> hover">
|
|
<child name="report_rom" label="decorator -> hover"/> </policy>
|
|
<policy label_suffix=" -> decorator_margins">
|
|
<child name="report_rom" label="decorator -> decorator_margins"/> </policy>
|
|
<policy label_suffix=" -> shape"> <child name="wm"/> </policy>
|
|
<policy label_suffix=" -> clipboard"> <child name="wm"/> </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 -> hover" report="decorator -> hover"/>
|
|
<policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/>
|
|
<policy label="layouter -> rules" report="layouter -> rules"/>
|
|
<policy label="decorator -> window_layout" report="layouter -> window_layout"/>
|
|
<policy label="decorator -> pointer" report="wm -> pointer"/>
|
|
<policy label="wm -> resize_request" report="layouter -> resize_request"/>
|
|
<policy label="wm -> focus" report="layouter -> focus"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="wm" caps="150">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides>
|
|
<service name="Gui"/> <service name="Report"/> <service name="ROM"/>
|
|
</provides>
|
|
<config>
|
|
<policy label_suffix="decorator -> " role="decorator"/>
|
|
<policy label_suffix="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="ROM" label_last="clipboard"> <parent/> </service>
|
|
<service name="Report" label_last="clipboard"> <parent/> </service>
|
|
<service name="Report" label_last="shape"> <parent/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="Gui" label=""> <parent label="focus"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
</config>
|