| From: |
| Evgeniy Polyakov <johnpol@2ka.mipt.ru> |
| To: |
| "David S. Miller" <davem@davemloft.net> |
| Subject: |
| [1/1] Kevent subsystem. |
| Date: |
| Tue, 2 May 2006 12:10:26 +0400 |
| Cc: |
| shemminger@osdl.org, caitlinb@broadcom.com, kelly@au1.ibm.com,
rusty@rustcorp.com.au, netdev@vger.kernel.org |
Kevent subsystem incorporates several AIO/kqueue design notes and
ideas. Kevent can be used both for edge and level triggered notifications.
It supports:
o socket notifications (accept, receiving and sending)
o network AIO (aio_send(), aio_recv() and aio_sendfile()) [3]
o inode notifications (create/remove)
o generic poll()/select() notifications
o timer notifications
More info, design notes, benchmarks (web server based on epoll, kevent,
kevent_poll; naio_send() vs. send(), naio_recv() vs. recv() with different number
of sending/receiving users) can be found on project's homepage [1].
Userspace interface was greatly described in LWN article [2].
1. kevent homepage.
http://tservice.net.ru/~s0mbre/old/?section=projects&...
2. LWN article about kevent.
http://lwn.net/Articles/172844/
3. Network AIO (aio_send(), aio_recv(), aio_sendfile()).
http://tservice.net.ru/~s0mbre/old/?section=projects&...
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
--
Evgeniy Polyakov