The way this is typically done is not hard and the solution works for all
kernel types.     The real-time process, of course never writes to storage,
but places the data in memory, typically this memory or organized as a
circular queue.     Then a second, non-real-time process running at low or
"background" priority reads from the queue and writes the data out tothee
file or to the network.

This is such a common setup that most RT OSes have an easy way to set this
up.   If your OS does not then the only tricky part is controling access to
the queue so that only one process can change the "In" or "Out" pointer at
a time.



On Thu, Jul 18, 2019 at 2:01 PM Nicklas Karlsson <
nicklas.karlsso...@gmail.com> wrote:

> It seems by no suprise writing real time to data to file within real time
> task have a negative impact on likelihood of real time delay.
>
> I tried non blocking fcntl(...) function and O_NONBLOCK flag without
> success. Adding some kind of buffer in for example shared memory between
> written by real time task and let another lower priority task write is a
> solution. With a large enough real time demand will be lowered to fast
> enough in average and even though not proved to be fast enough it is very
> likely to work every time which is good enough. Or do anybody else have a
> better solution?
>
>
> Regards Nicklas Karlsson
>
>
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>


-- 

Chris Albertson
Redondo Beach, California

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to