Waking up a linux thread from a xenomai thread, without mode switch

Philippe Gerum rpm at xenomai.org
Fri Dec 14 12:22:28 CET 2018


On 12/14/18 11:48 AM, Julien Blanc via Xenomai wrote:
> Hi,
> 
> We’re currently using semaphores and a shared buffer to allow
> communication between a xenomai cobalt thread and a linux regular
> thread (the xddp interface has been tested and does not perform well
> for our use case, which is exchanging a lot a very small messages).
> 

Did you try the streaming output mode with MSG_MORE as illustrated in
demo/posix/cobalt/xddp-stream.c? The streaming mode attempts to pack
multiple messages from the rt-side into a single message delivered to
the read() side, until the latter eventually resumes.

IOW, if the rt-side is able to send N messages before the linux side
eventually wakes up, then the latter will receive all the streamed
output packed into a single read().

-- 
Philippe.



More information about the Xenomai mailing list