From: Mark Mielke <mark@mark.mielke.cc>
To: Grant Taylor <gtaylor+lkml_cjiia111802@picante.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [rfc] epoll interface change and glibc bits ...
Date: Mon, 18 Nov 2002 17:32:14 -0500 [thread overview]
Message-ID: <20021118223214.GC14649@mark.mielke.cc> (raw)
In-Reply-To: <200211182204.gAIM47mU030748@habanero.picante.com>
On Mon, Nov 18, 2002 at 05:04:07PM -0500, Grant Taylor wrote:
> OTOH, I really hate the "user pointer in struct epollfd" thing...
Are you saying you see no way of using the 'user pointer in struct epollfd'
to accelerate event dispatching?
For a perfectly good example of a use for it that has nothing to do
with pointers, consider the possibility that the structure could hold
a priority number. Sure the FD could be used as an index into an array
(taking up lots of cache memory, btw) or an index into a hash (more
expensive to process), but wouldn't it be useful to sort high priority
events before low priority events without having to dereference every
single fd? I would even tend to delay executing low priority events
until epoll_wait(0) stopped telling me about high priority events.
An opaque field gives me, the event loop designer, freedom. No opaque
field because a few event loop designers are convinced that it will be
used as a data pointer, and they believe this to be wrong, is a
limitation. epoll provides a very efficient alternative to poll. Forcing
epoll to look like poll somewhat defeats the purpose. I don't mind having
a bigger event loop, or two different event loops (one used when epoll is
available, and one used when epoll isn't).
mark
--
mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________
. . _ ._ . . .__ . . ._. .__ . . . .__ | Neighbourhood Coder
|\/| |_| |_| |/ |_ |\/| | |_ | |/ |_ |
| | | | | \ | \ |__ . | | .|. |__ |__ | \ |__ | Ottawa, Ontario, Canada
One ring to rule them all, one ring to find them, one ring to bring them all
and in the darkness bind them...
http://mark.mielke.cc/
next prev parent reply other threads:[~2002-11-18 22:19 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-18 22:04 [rfc] epoll interface change and glibc bits Grant Taylor
2002-11-18 22:32 ` Mark Mielke [this message]
2002-11-19 12:33 ` having indistinguishable events halves epoll utility bert hubert
2002-11-19 17:10 ` Davide Libenzi
2002-11-18 23:07 ` [rfc] epoll interface change and glibc bits Davide Libenzi
-- strict thread matches above, loose matches on Subject: below --
2002-11-19 19:33 Grant Taylor
2002-11-19 19:51 ` Davide Libenzi
2002-11-19 20:57 ` Mark Mielke
2002-11-19 20:54 ` Davide Libenzi
2002-11-19 17:28 Dan Kegel
2002-11-19 5:49 Grant Taylor
2002-11-19 6:22 ` Mark Mielke
2002-11-19 15:24 ` Jamie Lokier
[not found] <20021118223125.GB14649@mark.mielke.cc>
2002-11-19 0:23 ` Grant Taylor
2002-11-19 3:58 ` Davide Libenzi
2002-11-19 4:04 ` Mark Mielke
2002-11-18 22:21 Dan Kegel
2002-11-18 23:09 ` Davide Libenzi
2002-11-18 23:39 ` Dan Kegel
2002-11-18 23:20 ` Davide Libenzi
2002-11-18 23:52 ` Dan Kegel
2002-11-18 23:35 ` Davide Libenzi
2002-11-19 0:53 ` Dan Kegel
2002-11-19 1:34 ` Davide Libenzi
2002-11-19 2:08 ` Dan Kegel
2002-11-19 2:04 ` Davide Libenzi
2002-11-19 3:46 ` Edgar Toernig
2002-11-19 4:14 ` Davide Libenzi
2002-11-19 5:35 ` Edgar Toernig
2002-11-19 6:09 ` Mark Mielke
2002-11-19 17:07 ` Davide Libenzi
2002-11-20 1:59 ` Davide Libenzi
2002-11-20 3:09 ` Jamie Lokier
2002-11-20 3:46 ` Davide Libenzi
2002-11-20 4:04 ` Davide Libenzi
2002-11-20 8:01 ` Mark Mielke
2002-11-20 23:19 ` Davide Libenzi
2002-11-20 23:51 ` Mark Mielke
2002-11-20 23:57 ` Davide Libenzi
2002-11-21 0:28 ` Jamie Lokier
2002-11-21 1:23 ` Mark Mielke
2002-11-21 1:20 ` Davide Libenzi
2002-11-21 0:33 ` Mark Mielke
2002-11-21 0:55 ` Jamie Lokier
2002-11-21 1:04 ` Davide Libenzi
2002-11-21 20:08 ` Denis Vlasenko
2002-11-21 16:51 ` Mark Mielke
2002-11-21 17:45 ` Davide Libenzi
2002-11-20 22:04 ` Jamie Lokier
2002-11-20 22:08 ` Davide Libenzi
2002-11-20 23:28 ` Jamie Lokier
2002-11-20 23:33 ` Davide Libenzi
2002-11-20 7:47 ` Mark Mielke
2002-11-19 3:53 ` Mark Mielke
2002-11-18 18:40 Grant Taylor
2002-11-18 16:05 Davide Libenzi
2002-11-18 16:12 ` Jakub Jelinek
2002-11-18 16:15 ` Davide Libenzi
2002-11-18 16:18 ` Jakub Jelinek
2002-11-18 16:32 ` Davide Libenzi
2002-11-18 22:22 ` Matthew D. Hall
2002-11-18 17:51 ` Mark Mielke
2002-11-18 18:37 ` Davide Libenzi
2002-11-18 19:59 ` Ulrich Drepper
2002-11-18 21:31 ` Davide Libenzi
2002-11-18 22:56 ` Jamie Lokier
2002-11-18 23:56 ` Davide Libenzi
2002-11-19 1:34 ` Jamie Lokier
2002-11-19 1:50 ` Davide Libenzi
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=20021118223214.GC14649@mark.mielke.cc \
--to=mark@mark.mielke.cc \
--cc=gtaylor+lkml_cjiia111802@picante.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