Re: Realtime safe signalling?



>> >> this, and even that is not strictly realtime safe (its better if the
>> >> FIFOs are in a tmpfs file system, for example).
>> >
>> >It does not matter in what filesystem (if any -- see pipe(2)) the fifo
>> >is in, because the inode is always in "pipefs". What does matter is to
>> >make that fifo non-blocking (see fcntl(2)).
>>=20
>> sorry, i was confusing RT-safe IPC with RT-safe intra-process
>> communication. you're right, if you use pipe(2), the filesystem is
>> irrelevant.=20
>
>NO! The filesystem is *ALWAYS* irrelevant, because the file_operations
>are always the same. It does *not* use the filesystem to back any
>buffers or anything.

sorry, this just isn't true. its one of the big reason why JACK
(jackit.sf.net) recommends putting its "tmpdir" location in a tmpfs
filesystem. JACK uses mknod(2) to create filesystem-base FIFOs to be
used for inter-process wakeups. Putting them into regular filesystems
results in code paths through the kernel that are not RT-safe and will
cause audio dropouts on many systems. Accessing metadata is one of the
primary issues, but there are others.

--p



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]