mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-09 04:31:23 +00:00
This patch facilitates the batching of I/O operations in the VFS library by replacing the implicit wakeup of remote peer (via the traditional packet-stream interface like 'submit_packet') by explicit wakeup signalling. The wakeup signalling is triggered not before the VFS user settles down. E.g., for libc-based applications, this is the case if the libc goes idle, waiting for external I/O. In the case of a busy writer to a non-blocking file descriptor or socket (e.g., lighttpd), the remote peers are woken up once a write operation yields an out-count of 0. The deferring of wakeup signals is accommodated by the new 'Remote_io' mechanism (vfs/remote_io.h) that is designated to be used by all VFS plugins that interact with asynchronous Genode services for I/O. Issue #4697
This directory is a source-code repository containing Genode-specific services and applications. In contrast to the components that come with the 'os' repository, programs contained in 'gems' are able to leverage the functionalities provided by higher-level repositories such as 'libports'. To use the 'gems' repository, make sure to also add those repositories to your build configuraion.