relaysfs: An Efficient Unified Approach for Transmitting Data From Kernel to User Space
Linux has several mechanisms for relaying information about the system and applications to the user. Some examples include printk and other syslog events, evlog, itt, oprofile, etc. Each subsystem has its own method for relaying information from the kernel to user space. Some of these mechanisms have difficulties, e.g. logging of printk messages is unreliable. In addition to selected difficulties, the replication of code and maintenance is undesirable. This paper describes a high-speed data relay filesystem that satisfies the buffering requirements of the above subsystems while providing a unified, efficient, and reliable relay mechanism. relayfs allows subsystems to log data efficiently and safely using lockless technology that is designed to scale well on multiprocessor systems.