On Tue, 2009-06-16 at 15:23 -0700, Guvenc Gulce wrote: > Hello > > I have the following questions regarding the rt_pipe behavior in Xenomai. > > -> Why is not possible to use rt_pipe_monitor() Native API call from an > userspace RT Task ?
Because this API is aimed at providing help to drivers implementing the kernel space endpoint of a pipe connection; the driver/module may then make userland benefit from this in a way or another, but it is not the primary intent. Additionally, the pipe monitors are based on function calls for notification, which is a real issue in a dual kernel system, when the caller is not the linux kernel, but the co-kernel. We would have to reinstate the userland address space context as fast as possible just for the time needed to run the handler, and we would have to do so from a real-time context that could be utterly unsafe from the linux kernel POV. There is another option we have been digging for some time to emulate such kind of callouts using an asynchronous approach under the hood, that would allow us to support real-time signals crossing address spaces as well. But this is still on the drawing board. > > -> What is the solution if async notifications in rt-pipe context are needed > in userspace RT Tasks ? > > If you don't care about real-timeliness of the receiver (i.e. userland does read() and not rt_pipe_read/receive()), then SIGIO is available, but maybe this is not what you want if your receiver is actually a RT task. Otherwise, you will have to resort to a server task reading the pipe to emulate an asynchronous behavior out of a synchronous construct, I'm afraid. As you have probably understood already, building a full real-time to real-time data path using pipes is not possible; this said, this is not the purpose of this API anyway, which has been designed for real-time to non-RT communication. > > > -> Is there any plan to implement something similar to linux's epoll system > call for the rt-pipes used > in userspace RT tasks ? > No plans yet, even if not objection to merge this either. > Thanks & Regards > > Guvenc > > > > > _______________________________________________ > Xenomai-help mailing list > [email protected] > https://mail.gna.org/listinfo/xenomai-help -- Philippe. _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
