Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Dec 2000 02:30:50 -0500
From:      Zach Brown <zab@zabbo.net>
To:        Wes Peters <wes@softweyr.com>
Cc:        dank@alumni.caltech.edu, "Daniel C. Sobral" <dcs@newsguy.com>, hackers@FreeBSD.ORG
Subject:   Re: kqueue microbenchmark results
Message-ID:  <20001209023050.B30968@tetsuo.zabbo.net>
In-Reply-To: <3A31CBCF.B8E21E1B@softweyr.com>; from wes@softweyr.com on Fri, Dec 08, 2000 at 11:06:07PM -0700
References:  <20001024225637.A54554@prism.flugsvamp.com> <39F6655A.353FD236@alumni.caltech.edu> <20001025115457.X28123@fw.wintelcom.net> <20001025170117.C87091@prism.flugsvamp.com> <20001207154925.A25785@walton.maths.tcd.ie> <3A30E115.CF7C76E8@newsguy.com> <3A31120E.3536F07D@alumni.caltech.edu> <3A31CBCF.B8E21E1B@softweyr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 08, 2000 at 11:06:07PM -0700, Wes Peters wrote:

> Dan Kegel wrote:
> > 
> > His role right now is to keep the kernel as simple as possible.
> 
> So the major advancements of pushing file servers and web servers into
> the kernel fit into this role how?

totally orthoganal to the `linus thinks bsd has cooties' "discussion",
but I'll take a stab at shedding some light.  as we're veering wildy
off-topic for -hackers, I'll be brief.  the few people who may actually
care can email me off list for more info.

as dan mentioned, khttpd added no complexity at all to the 'core kernel'.
That is, it added no controversial APIs that have to be maintained over
time, etc.  Thats simply because it was a lame hack of moving a wimpy
static http responder into kernel threads :)

tux, being a much more interesting design, messes with all sorts of
stuff.  Most notably it added working "zero copy" tcp and lots of SMP
scalability fixes.  getting damn-near-linear performance inprovements
as cpu and interfaces are added is definitely interesting, if not even
remotely useful for 99% of the userbase.

Ingo did it as an intial exploratory implementation.  It served its
role, current more careful "zero copy" development is branched from
early tux code.

so anyway, the trend isn't to push servers into the kernel.  khttpd
was put in because it was of no risk to Linus and ended up acting as
motivation to do it right, if its going to be done at all.  Doing it
then showed the possible gains which are now being folded into proper
APIs that userland servers will be able to use.  (dunno if kiofd and such
interfaces have been discussed in public yet, I know they've been babbled
about at conferences.  think splice meets iolite, using fds rather than
new syscalls and without the VM tricks..)

-- 
 zach


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001209023050.B30968>