From mboxrd@z Thu Jan 1 00:00:00 1970 From: Evgeniy Polyakov Subject: [1/1] Kevent subsystem. Date: Tue, 2 May 2006 12:10:26 +0400 Message-ID: <20060502081023.GA6058@2ka.mipt.ru> References: <20060428195930.GB21294@2ka.mipt.ru> <20060428.150056.18940876.davem@davemloft.net> <20060429124451.GA19810@2ka.mipt.ru> <20060501.143246.112559350.davem@davemloft.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="d6Gm4EdcadzBjdND" Cc: shemminger@osdl.org, caitlinb@broadcom.com, kelly@au1.ibm.com, rusty@rustcorp.com.au, netdev@vger.kernel.org Return-path: Received: from relay.2ka.mipt.ru ([194.85.82.65]:21125 "EHLO 2ka.mipt.ru") by vger.kernel.org with ESMTP id S932490AbWEBILF (ORCPT ); Tue, 2 May 2006 04:11:05 -0400 To: "David S. Miller" Content-Disposition: inline In-Reply-To: <20060501.143246.112559350.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org --d6Gm4EdcadzBjdND Content-Type: text/plain; charset=koi8-r Content-Disposition: inline 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 -- Evgeniy Polyakov --d6Gm4EdcadzBjdND Content-Type: application/x-gunzip Content-Disposition: attachment; filename="kevent_full.diff.3.gz" Content-Transfer-Encoding: base64 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 --d6Gm4EdcadzBjdND--