From: Davide Libenzi <davidel@xmailserver.org>
To: Jamie Lokier <lk@tantalophile.demon.co.uk>
Cc: Gordon Oliver <gordo@pincoya.com>
Cc: Gordon Oliver <gordo@pincoya.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Dan Kegel <dank@kegel.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH] /dev/epoll update ...
Date: Mon, 24 Sep 2001 15:20:11 -0700 (PDT) [thread overview]
Message-ID: <XFMail.20010924152011.davidel@xmailserver.org> (raw)
In-Reply-To: <20010924230909.A10253@kushida.jlokier.co.uk>
On 24-Sep-2001 Jamie Lokier wrote:
> Davide Libenzi wrote:
>> > Well, memory move consists of 2 words: (a) file descriptor; (b) poll
>> > state/edge flags.
>>
>> 2-words * number-of-ready-fds == pretty-high-cache-drain
>
> Perhaps there is a cache issue, but note it is the number of _new_ ready
> fds (since the last sample), not the number currently ready.
>
>> > That will be completely swamped by the system calls and so on needed to
>> > processes each of the file descriptors. I.e. no scalability problem here.
>>
>> The other issue is that by keeping infos in file* you'll have to scan each fd
>> to report the ready ones, that will make the method to fall back in O(n).
>
> No, that would be silly. You would queue signals exactly as they are
> queued now (but collapsing multiple signals per fd into one).
>
>> Anyway there's a pretty good patch ( http://www.luban.org/GPL/gpl.html ),
>> that has been tested here :
>>
>> http://www.xmailserver.org/linux-patches/nio-improve.html
>>
>> that implement the signal-per-fd mechanism and it achieves a very good
>> scalability too.
>
> It has the bonus of requiring no userspace changes too. Lovely!
Sure you can avoid the scan, if you pick up one event at a time.
To be compared to /dev/epoll you need the signal-per-fd patch plus a method to
collect the whole event-set in a single system call ( see perfs ).
- Davide
next prev parent reply other threads:[~2001-09-24 22:16 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-24 4:16 [PATCH] /dev/epoll update Dan Kegel
2001-09-24 19:11 ` Eric W. Biederman
2001-09-24 19:34 ` Jamie Lokier
2001-09-24 20:09 ` Davide Libenzi
2001-09-24 21:56 ` Jamie Lokier
2001-09-24 22:08 ` Davide Libenzi
2001-09-24 22:09 ` Jamie Lokier
2001-09-24 22:20 ` Davide Libenzi [this message]
2001-09-24 22:21 ` Jamie Lokier
2001-09-24 22:30 ` Davide Libenzi
2001-09-25 9:25 ` Dan Kegel
[not found] ` <3BAF83EF.C8018E45@distributopia.com>
2001-09-25 8:12 ` Dan Kegel
-- strict thread matches above, loose matches on Subject: below --
2002-03-20 3:49 [patch] " Davide Libenzi
[not found] <local.mail.linux-kernel/3BB03C6A.7D1DD7B3@kegel.com>
[not found] ` <local.mail.linux-kernel/3BAEB39B.DE7932CF@kegel.com>
[not found] ` <local.mail.linux-kernel/3BAF83EF.C8018E45@distributopia.com>
2001-09-25 17:36 ` [PATCH] " Jonathan Lemon
2001-09-25 18:34 ` Dan Kegel
2001-09-21 6:22 Dan Kegel
2001-09-21 18:45 ` Davide Libenzi
2001-09-19 2:20 Dan Kegel
2001-09-19 6:25 ` Dan Kegel
2001-09-19 7:04 ` Christopher K. St. John
2001-09-19 15:37 ` Dan Kegel
2001-09-19 15:59 ` Zach Brown
2001-09-19 17:12 ` Christopher K. St. John
2001-09-19 17:39 ` Davide Libenzi
2001-09-19 18:26 ` Alan Cox
2001-09-19 17:25 ` Davide Libenzi
2001-09-19 19:03 ` Christopher K. St. John
2001-09-19 19:30 ` Davide Libenzi
2001-09-19 21:49 ` Christopher K. St. John
2001-09-19 22:11 ` Davide Libenzi
2001-09-19 23:24 ` Christopher K. St. John
2001-09-19 23:52 ` Davide Libenzi
2001-09-20 2:13 ` Dan Kegel
2001-09-20 2:28 ` Davide Libenzi
2001-09-20 3:03 ` Dan Kegel
2001-09-20 16:58 ` Davide Libenzi
2001-09-20 4:32 ` Christopher K. St. John
2001-09-20 4:43 ` Christopher K. St. John
2001-09-20 5:05 ` Benjamin LaHaise
2001-09-20 18:25 ` Davide Libenzi
2001-09-20 19:33 ` Benjamin LaHaise
2001-09-20 19:58 ` Davide Libenzi
2001-09-20 17:18 ` Davide Libenzi
2001-09-24 0:11 ` Gordon Oliver
2001-09-24 0:33 ` Davide Libenzi
2001-09-24 19:23 ` Eric W. Biederman
2001-09-24 20:04 ` Davide Libenzi
2001-09-21 5:59 ` Ton Hospel
2001-09-21 16:48 ` Davide Libenzi
2001-09-19 17:21 ` Davide Libenzi
2001-09-07 19:27 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=XFMail.20010924152011.davidel@xmailserver.org \
--to=davidel@xmailserver.org \
--cc=gordo@pincoya.com \
--cc=lk@tantalophile.demon.co.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.