genode/repos/os
Norman Feske 7d8d4f4532 vfs,libc: deferred wakeup of remote peers
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
2023-01-24 12:07:27 +01:00
..
doc Remove SIGNAL/CAP/RAM services from run scripts 2022-04-13 08:08:00 +02:00
include vfs,libc: deferred wakeup of remote peers 2023-01-24 12:07:27 +01:00
lib vfs: implement plugin for 'Capture' session 2022-04-13 09:29:03 +02:00
recipes depot: update recipe hashes 2022-11-29 12:32:49 +01:00
run pci_decode: increase default ram quota 2022-11-29 12:29:57 +01:00
src vfs,libc: deferred wakeup of remote peers 2023-01-24 12:07:27 +01:00
xsd Remove NIC server role from drivers 2022-05-25 12:19:31 +02:00
README API documentation refinements 2017-05-31 13:16:21 +02:00

This source-code repository contains genuine low-level OS components and
interfaces of Genode. It solely depends on the framework's base API.