Hello. Kevent subsystem incorporates several AIO/kqueue design notes and ideas. Kevent can be used both for edge and level notifications. It supports socket notifications, network AIO (aio_send(), aio_recv() and aio_sendfile()), inode notifications (create/remove), generic poll()/select() notifications and timer notifications.
It was tested against FreeBSD kqueue and Linux epoll and showed noticeble performance win. Network asynchronous IO operations were tested against Linux synchronous socket code and showed noticeble performance win. Patch against linux-2.6.17-git tree attached (gzipped). I would like to hear some comments about the overall design, implementation and plans about it's usefullness for generic kernel. Design notes, patches, userspace application and perfomance tests can be found at project's homepages. 1. Kevent subsystem. http://tservice.net.ru/~s0mbre/old/?section=projects&item=kevent 2. Network AIO. http://tservice.net.ru/~s0mbre/old/?section=projects&item=naio 3. LWN article about kevent. http://lwn.net/Articles/172844/ Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> Thank you. -- Evgeniy Polyakov
kevent-2.6.17-git.diff.gz
Description: application/gunzip