On Fri, Apr 28, 2006 at 03:00:56PM -0700, David S. Miller ([EMAIL PROTECTED]) wrote: > From: Evgeniy Polyakov <[EMAIL PROTECTED]> > Date: Fri, 28 Apr 2006 23:59:30 +0400 > > > kevent can be used as poll without any changes to the socket code. > > There are two types of network related kevents - socket events > > (recv/send/accept) and network aio, which can be turned completely off > > in config. > > There are following events which are supported by kevent: > > o usual poll/select notifications > > o inode notifications (create/remove) > > o timer notifications > > o socket notifications (send/recv/accept) > > o network aio system > > o fs aio (project closed, aio_sendfile() is being developed instead) > > > > Any of the above can be turned off by config option. > > Feel free to post the current version of your kevent patch > here so we can discuss something concrete. > > Maybe you have even some toy example user applications that > use kevent that people can look at too? That might help > in understanding how it's supposed to be used.
There are several at project's homepage [1] and in archive [2]: evserver_epoll.c - epoll-based web server (pure epoll) evserver_kevent.c - kevent-based web server (socket notifications) evserver_poll.c - web server which uses kevent-based poll (poll/select notifications) evtest.c - can wait for any type of events. It was used to test timer notifications. naio_recv.c/naio_send.c - network AIO sending and receiving benchmarks (sync/async) aio_sendfile.c - aio sendfile benchmark (sendfile/aio_sendfile). Kernel implementation is not 100% ready, pages are only asynchronously propagated into VFS cache, but are not sent yet. There are also links to benchmark results, comparison with FreeBSD kqueue, some conclusions on kevent homepage [1]. Network AIO [3] homepage also contains additional NAIO benchmarks with some graphs. 1. kevent project home page. http://tservice.net.ru/~s0mbre/old/?section=projects&item=kevent 2. kevent archive http://tservice.net.ru/~s0mbre/archive/kevent/ 3. Network AIO http://tservice.net.ru/~s0mbre/old/?section=projects&item=naio Current development kevent patchset (against 2.6.15-rc7, but could be applied against later trees too) attached gzipped, sory if you get this twice. Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]> -- Evgeniy Polyakov
kevent_full.diff.gz
Description: application/gunzip