From: Dan Kegel <dank@kegel.com>
To: Vincent Sweeney <v.sweeney@barrysworld.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"coder-com@undernet.org" <coder-com@undernet.org>
Cc: "Kevin L. Mitchell" <klmitch@mit.edu>
Subject: Re: PROBLEM: high system usage / poor SMP network performance
Date: Sun, 03 Feb 2002 00:03:57 -0800 [thread overview]
Message-ID: <3C5CEEED.E98D35B7@kegel.com> (raw)
In-Reply-To: <3C56E327.69F8B70F@kegel.com> <001901c1a900$e2bc7420$0201010a@frodo> <3C58D50B.FD44524F@kegel.com> <001d01c1aa8e$2e067e60$0201010a@frodo>
Vincent Sweeney wrote:
> > > [I want to use Linux for my irc server, but performance sucks.]
> > > 1) Someone is going to have to recode the ircd source we use and
> > > possibly a modified kernel in the *hope* that performance improves.
> > > 2) Convert the box to FreeBSD which seems to have a better poll()
> > > implementation, and where I could support 8K clients easily as other
> > > admins on my chat network do already....
> >
> > No need to use a modified kernel; plain old 2.4.18 or so should do
> > fine, it supports the rtsig stuff. But yeah, you may want to
> > see if the core of ircd can be recoded. Can you give me the URL
> > for the source of the version you use? I can peek at it.
> > It only took me two days to recode betaftpd to use Poller...
>
> http://dev-com.b2irc.net/ : Undernet's IRCD + Lain 1.1.2 patch
Hmm. Have a look at
http://www.mail-archive.com/coder-com@undernet.org/msg00060.html
It looks like the mainline Undernet ircd was rewritten around May 2001
to support high efficiency techniques like /dev/poll and kqueue.
The source you pointed to is way behind Undernet's current sources.
Undernet's ircd has engine_{select,poll,devpoll,kqueue}.c,
but not yet an engine_rtsig.c, as far as I know.
If you want ircd to handle zillions of simultaneous connections
on a stock 2.4 Linux kernel, rtsignals are the way to go at the
moment. What's needed is to write ircd's engine_rtsig.c, and
modify ircd's os_linux.c to notice EWOULDBLOCK
return values and feed them to engine_rtsig.c (that's the icky
part about the way linux currently does this kind of event
notification - signals are used for 'I'm ready now', but return
values from I/O functions are where you learn 'I'm no longer ready').
So I dunno if I'm going to go ahead and do that myself, but at least I've
scoped out the situation. Before I did any work, I'd measure CPU
usage under a simulated load of 2000 clients, just to verify that
poll() was indeed a bottleneck (ok, can't imagine it not being a
bottleneck, but it's nice to have a baseline to compare the improved
version against).
- Dan
next prev parent reply other threads:[~2002-02-03 7:58 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-29 18:00 PROBLEM: high system usage / poor SMP network performance Dan Kegel
2002-01-29 20:09 ` Vincent Sweeney
2002-01-31 5:24 ` Dan Kegel
[not found] ` <001d01c1aa8e$2e067e60$0201010a@frodo>
2002-02-03 8:03 ` Dan Kegel [this message]
2002-02-03 8:36 ` Andrew Morton
2002-02-04 14:57 ` [Coder-Com] " Darren Smith
2002-02-04 17:41 ` Aaron Sethman
2002-02-04 18:11 ` Darren Smith
2002-02-04 18:30 ` Aaron Sethman
2002-02-04 18:48 ` Kev
2002-02-04 18:59 ` Aaron Sethman
2002-02-04 18:53 ` Doug McNaught
2002-02-08 22:11 ` James Antill
2002-02-12 18:48 ` Vincent Sweeney
2002-02-03 19:22 ` Kev
[not found] ` <5.1.0.14.2.20020203173247.02c946e8@pop.euronet.nl>
2002-02-03 19:16 ` [Coder-Com] Re: PROBLEM: high system usage / poor SMPnetwork performance Dan Kegel
2002-02-04 0:07 ` Kev
2002-02-04 0:37 ` Dan Kegel
2002-02-04 0:59 ` Aaron Sethman
2002-02-04 1:16 ` Dan Kegel
2002-02-04 1:30 ` Aaron Sethman
2002-02-04 1:38 ` Dan Kegel
2002-02-04 4:38 ` Aaron Sethman
2002-02-04 5:35 ` Dan Kegel
2002-02-04 5:43 ` Aaron Sethman
2002-02-04 6:11 ` Daniel Phillips
2002-02-04 6:26 ` Aaron Sethman
2002-02-04 6:29 ` Daniel Phillips
2002-02-04 6:39 ` Aaron Sethman
2002-02-04 2:55 ` Kev
2002-02-04 3:25 ` Dan Kegel
2002-02-04 4:47 ` Aaron Sethman
2002-02-04 5:10 ` Kev
-- strict thread matches above, loose matches on Subject: below --
2002-01-27 22:23 PROBLEM: high system usage / poor SMP network performance Vincent Sweeney
2002-01-27 22:42 ` Andrew Morton
2002-01-27 22:54 ` Alan Cox
2002-01-27 22:52 ` arjan
2002-01-27 23:08 ` Vincent Sweeney
2002-01-28 19:34 ` Vincent Sweeney
2002-01-28 19:40 ` Rik van Riel
2002-01-29 16:32 ` Vincent Sweeney
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=3C5CEEED.E98D35B7@kegel.com \
--to=dank@kegel.com \
--cc=coder-com@undernet.org \
--cc=klmitch@mit.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=v.sweeney@barrysworld.com \
/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.