Re: [take21 0/4] kevent: Generic event handling mechanism.

Jeff Garzik
2006-11-07T11:47:13Z

At an aside... This may be useful. Or not.

Al Viro had an interesting idea about kernel<->userspace data passing
interfaces. He had suggested creating a task-specific filesystem
derived from ramfs. Through the normal VFS/VM codepaths, the user can
easily create [subject to resource/priv checks] a buffer that is locked
into the pagecache. Using mmap, read, write, whatever they prefer.
Derive from tmpfs, and the buffers are swappable.

Then it would be a simple matter to associate a file stored in
"keventfs" with a ring buffer guaranteed to be pagecache-friendly.

Heck, that might make zero-copy easier in some cases, too. And using a
filesystem would mean that you could do all this without adding
syscalls, by using special (poll-able!) files in the filesystem for
control and notification purposes.

Jeff