On Tue, 2003-07-15 at 17:01, Tom Zanussi wrote: > Gianni Tedesco writes: > > On Tue, 2003-07-15 at 16:15, Tom Zanussi wrote: > > > The following 5 patches implement relayfs, adding a dynamic channel > > > resizing capability to the previously posted version. > > > > > > relayfs is a filesystem designed to provide an efficient mechanism for > > > tools and facilities to relay large amounts of data from kernel space > > > to user space. Full details can be found in Documentation/filesystems/ > > > relayfs.txt. The current version can always be found at > > > http://www.opersys.com/relayfs. > > > > Could this be used to replace mmap() packet socket, how does it compare? > > I think so - you could send high volumes of packet traffic to a bulk > relayfs channel and read it from the mmap'ed relayfs file in user > space. The Linux Trace Toolkit does the same thing with large volumes > of trace data - you could look at that code as an example > (http://www.opersys.com/relayfs/ltt-on-relayfs.html). What are the semantics of the mmap'ing the buffer? With mmaped packet socket the userspace (read-side) requires no sys-calls apart from when the buffer is empty, it then uses poll(2) to sleep until something new is put in the buffer. Can relayfs do a similar thing? poll is not mentioned in the docs... Thanks. -- // Gianni Tedesco (gianni at scaramanga dot co dot uk) lynx --source www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import 8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D