netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [1/1] Kevent subsystem.
@ 2006-06-22 17:14 Evgeniy Polyakov
  2006-06-22 19:01 ` James Morris
                   ` (6 more replies)
  0 siblings, 7 replies; 28+ messages in thread
From: Evgeniy Polyakov @ 2006-06-22 17:14 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 1157 bytes --]

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 <johnpol@2ka.mipt.ru>

Thank you.

-- 
	Evgeniy Polyakov

[-- Attachment #2: kevent-2.6.17-git.diff.gz --]
[-- Type: application/x-gunzip, Size: 24054 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread
* Re: [PATCH 1/3] Rough VJ Channel Implementation - vj_core.patch
@ 2006-04-28 19:59 Evgeniy Polyakov
  2006-04-28 22:00 ` David S. Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Evgeniy Polyakov @ 2006-04-28 19:59 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David S. Miller, caitlinb, kelly, rusty, netdev

On Fri, Apr 28, 2006 at 12:49:15PM -0700, Stephen Hemminger (shemminger@osdl.org) wrote:
> But there is this huge semantic overload of kevent, poll, epoll, aio,
> regular sendmsg/recv, posix aio, etc.  
> 
> Perhaps a clean break with the socket interface is needed. Otherwise, there
> are nasty complications with applications that mix old socket calls and new interface
> on the same connection.

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.

-- 
	Evgeniy Polyakov

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2006-06-24  9:14 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-22 17:14 [1/1] Kevent subsystem Evgeniy Polyakov
2006-06-22 19:01 ` James Morris
2006-06-23  5:54   ` Evgeniy Polyakov
2006-06-22 19:53 ` Robert Iakobashvili
2006-06-23  5:50   ` Evgeniy Polyakov
2006-06-23  6:12 ` YOSHIFUJI Hideaki / 吉藤英明
2006-06-23  6:14   ` David Miller
2006-06-23  6:18     ` YOSHIFUJI Hideaki / 吉藤英明
2006-06-23  7:09 ` [1/4] kevent: core files Evgeniy Polyakov
2006-06-23 18:44   ` Benjamin LaHaise
2006-06-23 19:24     ` Evgeniy Polyakov
2006-06-23 19:55       ` Benjamin LaHaise
2006-06-23 20:17         ` Evgeniy Polyakov
2006-06-23 20:44           ` Benjamin LaHaise
2006-06-23 21:08             ` Evgeniy Polyakov
2006-06-23 21:31               ` Benjamin LaHaise
2006-06-23 21:43                 ` Evgeniy Polyakov
2006-06-23 20:19       ` David Miller
2006-06-23 20:31         ` Benjamin LaHaise
2006-06-23 20:54           ` Evgeniy Polyakov
2006-06-24  9:14             ` Robert Iakobashvili
2006-06-23 20:54           ` David Miller
2006-06-23 21:53             ` Benjamin LaHaise
2006-06-23 22:12               ` David Miller
2006-06-23  7:09 ` [2/4] kevent: network notifications Evgeniy Polyakov
2006-06-23  7:09 ` [3/4] kevent: fs/aio notifications Evgeniy Polyakov
2006-06-23  7:09 ` [4/4] kevent: generic poll and timer notifications Evgeniy Polyakov
  -- strict thread matches above, loose matches on Subject: below --
2006-04-28 19:59 [PATCH 1/3] Rough VJ Channel Implementation - vj_core.patch Evgeniy Polyakov
2006-04-28 22:00 ` David S. Miller
     [not found]   ` <20060429124451.GA19810@2ka.mipt.ru>
2006-05-01 21:32     ` David S. Miller
2006-05-02  8:10       ` [1/1] Kevent subsystem Evgeniy Polyakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).