High-Speed Data Relay Filesystem
relayfs Patches |
Latest News |
Old material |
Background |
The relayfs Team
relayfs Patches:
NOTE - 2005/04/04: A significantly streamlined version of relayfs
was recently accepted into the -mm kernel tree. Please use that version for
any new applications. The API documentation for the new version can be
found in Documentation/filesystems/relayfs.txt and a set of example
applications can be found at
http://relayfs.sourceforge.net
under the heading 'relay-app examples' in the file releases section.
The patches here are for the 'old relayfs', which will continue to be
maintained for current users, but which should be considered obsolete.
Please see
http://relayfs.sourceforge.net for the latest
versions of these 'old relayfs' patches.
2.6.11 OLD 2005/04/04
2.6.11 OLD 2005/04/04 (bz2)
2.6.10 2005/01/13
2.6.10 2005/01/13 (bz2)
2.6.9 2004/11/24
2.6.9 2004/11/24 (bz2)
2.6.7 2004/06/25
2.6.7 2004/06/25 (bz2)
2.6.3 2004/03/05
2.6.3 2004/03/05 (bz2)
2.6.3 2004/02/20
2.6.3 2004/02/20 (bz2)
2.6.3 2004/02/18
2.6.3 2004/02/18 (bz2)
2.6.2 2004/02/17
2.6.2 2004/02/17 (bz2)
2.6.1 2004/01/22
2.6.1 2004/01/22 (bz2)
2.6.0-test11 2003/12/11
2.6.0-test11 2003/12/11 (bz2)
2.6.0-test11
2.6.0-test11 (bz2)
2.6.0-test1 (bz2)
2.5.65 (bz2)
2.5.64 (bz2)
Latest News
15/07/2003: printk on relayfs and relayfs for
2.6.0-test1:
Tom has been busy fixing and extending relayfs in the last few months. We now have a
fully functional printk on relayfs, allowing dynamic resizing and very large buffers
at startup. Your feedback and testing is always welcome.
17/03/2003: First release of relayfs code:
Thanks to the dedicated work of Tom Zanussi (IBM), the first implementation of
relayfs is now available for download. Click on the sidebar to download the
patch. Patches are also available for running the
Linux Trace Toolkit, one the many anticipated clients, on relayfs. These patches
and details on their use are available here.
Old material
Background
As the Linux kernel matures, there is an ever increasing number of facilities and tools
that need to relay large amounts of data from kernel space to user space. Up to this point,
each of these has had its own mechanism for relaying data. To supersede the individual
mechanisms, we introduce the "high-speed data relay filesystem" (relayfs). As such, things
like LTT, printk, EVLog, etc. should all use relayfs to get their data to user-space. The
use of relayfs would, for example, avoid lost printk's. It would also result in the
standardization of the way in which large amounts of data are transferred from kernel space
to user space.
The main idea behind the relayfs is that every data flow is put into a separate "channel"
and each channel is a file. In practice, each channel is a separate memory buffer allocated
from within kernel space upon channel instantiation. Software needing to relay
data to user space would open a channel or a number of channels, depending on its needs, and
would log data to that channel. All the buffering and locking mechanics are taken care of by
the relayfs.
The relayfs Team:
Tom Zanussi (IBM)
Karim Yaghmour (Opersys inc.)
Bob Wisniewski (IBM)
Richard Moore (IBM)
Michel Dagenais (École Polytechnique de Montréal)
|