Data transfer mechanisms
Lluís Vilanova
vilanova at ac.upc.edu
Sun Aug 18 20:33:52 CEST 2013
Adam Lackorzynski writes:
> Hi,
> 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),
> L4_FP_OTHER_SPACES);
>> 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.
Thanks a lot for your help. In the end, I got the remapping working following
the example in "examples/libs/l4re/c++/shared_ds".
BTW, there's a file in the fiasco directory regarding benchmarking results. What
kind of information is to be sent?
Thanks,
Lluis
--
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom
Tollbooth
More information about the l4-hackers
mailing list