Data transfer mechanisms

Adam Lackorzynski adam at
Mon Aug 12 00:22:22 CEST 2013


On Sun Aug 11, 2013 at 20:10:29 +0300, Lluís Vilanova wrote:
> I'd like to compare the performance of two different synchronous data transfer
> mechanisms:
> * Copies
> * Page maps / unmaps
> For the second one, it looks like I can use the streammap example
> (pkg/examples/libs/l4re/streammap), although I'm lacking a mechanism to unmap
> the page before returning control to the client.

There's an unmap syscall:
  l4_task_unmap(L4RE_THIS_TASK_CAP, l4_fpage(page_to_map, 12, L4_FPAGE_RWX),

> It would also be nice to be
> able to pass the server a read-only region.

The server? Anyway, there are rights parameters.

> For the first one, I've only found the use of multiple send/recv operations
> through the limited amount of data available on the message registers. There is
> a "Gen_string" class in the "ipc_stream" header, which looks like it could
> support offline string transfers, but it's disabled at compile time and I could
> not find the actual code in fiasco that handles these transfers.

That's gone. The kernel only copies what's in the MRs.

Adam                 adam at

More information about the l4-hackers mailing list