Hello Genodians I have a scenario on base-linux in which a `fs_rom` component serves multiple clients by providing the same file as ROM session. The file can be rather large. So I noticed that `fs_rom` loads the file into RAM for each session separately. This lead very fast to `resource requests`.
I remembered that there is the `cached_fs_rom`, that is designed to handle exactly this scenario and reduce the amount of resources required. When I replaced `fs_rom` with `cached_fs_rom` in my scenario `cached_fs_rom` terminated with: ``` [init -> fs_rom] Error: Region_map_mmap::attach: attaching w/o local addr not supported [init -> fs_rom] Error: Uncaught exception of type 'Genode::Region_map::Region_conflict' [init -> fs_rom] Warning: abort called - thread: ep ``` After this I looked to see, if there is a test for `cached_fs_rom`. The only test except the usage by `sculpt_manager` was in the `test-read_only_rom` for `depot_autopilot`. When I ran this on different platforms, it succeeded on all including base-linux. Looking at the test I discovered that the success condition for the test is a that the timeout is triggered. On all other platforms `test-read_only_rom` crashes and on base-linux `cached_fs_rom` crashes. My question now is : - should cached_fs_rom theoretically work on base-linux, or is there an inherent restriction that prevents this? Best regards, Pirmin _______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
