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&item=kevent 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&item=naio Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> -- Evgeniy Polyakov
kevent_full.diff.3.gz
Description: application/gunzip