From: Carlo Wood <carlo@alinoe.com>
To: linux-kernel@vger.kernel.org
Subject: kqueue, kevent - kernel event notification mechanism
Date: Thu, 6 Dec 2001 01:38:57 +0100 [thread overview]
Message-ID: <20011206013857.A17313@alinoe.com> (raw)
Hiya,
are there any plans to implement the kqueue, kevent system calls
in the linux kernel?
There is no substitute for them currently; select() and poll()
both suffer from dramatic cpu usage when a daemon is loaded with
a few thousand clients.
It would be good for linux to implement event-driven i/o, if not
by means of kqueue/kevent (BSD-ish interface) then at least in
some other way.
It has been shown that a heavily loaded networking daemon like
an IRC daemon uses 35% less cpu on freeBSD by using event-driven
i/o instead of poll().
For those who are not into this material, allow me to explain
the difference. The current i/o calls, select and poll, scan all
open file descriptors for events, every call. This is clearly
not scalable. Event driven means that the kernel never scans
all open file descriptors but queues events as they happen on
the network card - the latter would in principle be scalable
to any number of open file descriptors, as long as there is
enough memory and as long as there is a limited number of
file descriptors active per time unit.
--
Carlo Wood <carlo@alinoe.com>
next reply other threads:[~2001-12-06 0:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-06 0:38 Carlo Wood [this message]
2001-12-06 0:57 ` kqueue, kevent - kernel event notification mechanism Alan Cox
2001-12-06 5:48 ` Benjamin LaHaise
-- strict thread matches above, loose matches on Subject: below --
2001-12-06 7:33 Dan Kegel
2001-12-06 14:28 ` Carlo Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20011206013857.A17313@alinoe.com \
--to=carlo@alinoe.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox