public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox