LWN.net Logo

pollfs: filesystem abstraction for pollable objects

From:  Davi Arnaut <davi@haxent.com.br>
To:  Andrew Morton <akpm@linux-foundation.org>
Subject:  [patch 00/22] pollfs: filesystem abstraction for pollable objects
Date:  Wed, 02 May 2007 02:22:35 -0300
Cc:  Davide Libenzi <davidel@xmailserver.org>, Linus Torvalds <torvalds@linux-foundation.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Archive-link:  Article, Thread

This patch set introduces a new file system for the delivery of pollable
events through file descriptors. To the detriment of debugability, pollable
objects are a nice adjunct to nonblocking/epoll/event-based servers.

The pollfs filesystem abstraction provides better mechanisms needed for
creating and maintaining pollable objects. Also the pollable futex approach
is far superior (send and receive events from userspace or kernel) to eventfd
and fixes (supercedes) FUTEX_FD at the same time.

The (non) blocking and object size (user <-> kernel) semantics and are handled
internally, decoupling the core filesystem from the "subsystems" (mere push and
pop operations).

Currently implemented waitable "objects" are: signals, futexes, ai/o blocks and
timers.

More details at each patch.

http://haxent.com/~davi/pollfs/

Comments are welcome.

--
Davi Arnaut

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds