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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [patch 00/22] pollfs: filesystem abstraction for pollable objects
- From: Andrew Morton <[email protected]>
- [patch 02/22] pollfs: file system operations
- From: Davi Arnaut <[email protected]>
- [patch 05/22] pollfs: pollable signal compat code
- From: Davi Arnaut <[email protected]>
- [patch 04/22] pollfs: pollable signal
- From: Davi Arnaut <[email protected]>
- [patch 06/22] pollfs: export the plsignal system call
- From: Davi Arnaut <[email protected]>
- [patch 13/22] pollfs: asynchronous futex wait
- From: Davi Arnaut <[email protected]>
- [patch 17/22] pollfs: x86_64, wire up the plfutex system call
- From: Davi Arnaut <[email protected]>
- [patch 08/22] pollfs: x86_64, wire up the plsignal system call
- From: Davi Arnaut <[email protected]>
- [patch 09/22] pollfs: pollable hrtimers
- From: Davi Arnaut <[email protected]>
- [patch 03/22] pollfs: asynchronously wait for a signal
- From: Davi Arnaut <[email protected]>
- [patch 21/22] pollfs: x86, wire up the plaio system call
- From: Davi Arnaut <[email protected]>
- [patch 19/22] pollfs: pollable aio
- From: Davi Arnaut <[email protected]>
- [patch 07/22] pollfs: x86, wire up the plsignal system call
- From: Davi Arnaut <[email protected]>
- [patch 10/22] pollfs: export the pltimer system call
- From: Davi Arnaut <[email protected]>
- [patch 18/22] pollfs: check if a AIO event ring is empty
- From: Davi Arnaut <[email protected]>
- [patch 16/22] pollfs: x86, wire up the plfutex system call
- From: Davi Arnaut <[email protected]>
- [patch 15/22] pollfs: export the plfutex system call
- From: Davi Arnaut <[email protected]>
- [patch 14/22] pollfs: pollable futex
- From: Davi Arnaut <[email protected]>
- [patch 11/22] pollfs: x86, wire up the pltimer system call
- From: Davi Arnaut <[email protected]>
- [patch 12/22] pollfs: x86_64, wire up the pltimer system call
- From: Davi Arnaut <[email protected]>
- [patch 20/22] pollfs: export the plaio system call
- From: Davi Arnaut <[email protected]>
- [patch 22/22] pollfs: x86_64, wire up the plaio system call
- From: Davi Arnaut <[email protected]>
- [patch 01/22] pollfs: kernel-side API header
- From: Davi Arnaut <[email protected]>
- Re: [patch 00/22] pollfs: filesystem abstraction for pollable objects
- Prev by Date: [patch 01/22] pollfs: kernel-side API header
- Next by Date: [patch 22/22] pollfs: x86_64, wire up the plaio system call
- Previous by thread: [PATCH]: linux-2.6.21-uc0 (MMU-less updates)
- Next by thread: [patch 01/22] pollfs: kernel-side API header
- Index(es):