pkg/mesa_gpu: use cached_fs_rom

By using the cached_fs_rom instead of fs_rom, each client obtains the
same (read-only) copy of the shared library, avoiding a RAM resource
request when running mulitple GPU applications at the same time.
With this patch, Sculpt is able to host at least 3 Mesa applications.

Issue #4263
Issue #4281
This commit is contained in:
Norman Feske 2021-10-06 11:15:35 +02:00
parent 2604c3cca6
commit 05b451c563
4 changed files with 20 additions and 8 deletions

View File

@ -1,4 +1,4 @@
_/src/fs_rom
_/src/cached_fs_rom
_/src/init
_/src/mesa
_/src/vfs

View File

@ -4,9 +4,13 @@
<rom/>
</provides>
<requires>
<rm/>
</requires>
<content>
<rom label="mesa_gpu-softpipe.lib.so"/>
<rom label="fs_rom"/>
<rom label="cached_fs_rom"/>
<rom label="init"/>
<rom label="vfs"/>
<rom label="vfs.lib.so"/>
@ -15,7 +19,9 @@
<config>
<service name="ROM">
<default-policy> <child name="fs_rom" label="mesa_gpu-softpipe.lib.so"/> </default-policy>
<default-policy>
<child name="cached_fs_rom" label="mesa_gpu-softpipe.lib.so"/>
</default-policy>
</service>
<parent-provides>
@ -39,7 +45,7 @@
</config>
</start>
<start name="fs_rom" caps="100">
<start name="cached_fs_rom" caps="100">
<resource name="RAM" quantum="2M"/>
<provides> <service name="ROM"/> </provides>
<config/>

View File

@ -1,4 +1,4 @@
_/src/fs_rom
_/src/cached_fs_rom
_/src/init
_/src/mesa
_/src/vfs

View File

@ -4,9 +4,13 @@
<rom/>
</provides>
<requires>
<rm/>
</requires>
<content>
<rom label="mesa_gpu-iris.lib.so"/>
<rom label="fs_rom"/>
<rom label="cached_fs_rom"/>
<rom label="init"/>
<rom label="vfs"/>
<rom label="vfs.lib.so"/>
@ -15,7 +19,9 @@
<config verbose="yes">
<service name="ROM">
<default-policy> <child name="fs_rom" label="mesa_gpu-iris.lib.so"/> </default-policy>
<default-policy>
<child name="cached_fs_rom" label="mesa_gpu-iris.lib.so"/>
</default-policy>
</service>
<parent-provides>
@ -39,7 +45,7 @@
</config>
</start>
<start name="fs_rom" caps="100">
<start name="cached_fs_rom" caps="100">
<resource name="RAM" quantum="9M"/>
<provides> <service name="ROM"/> </provides>
<config/>