httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Spero <>
Subject Re: Apache 2.0 ideas
Date Tue, 03 Nov 1998 15:39:43 GMT
There are some places where you need locks in user-space, but not many, and
most can be moved out of the critical path. The most obvious (i.e. the one I
can remember before coffee) are logs and status tables. However, if you have
light-weight-threads, you can set up an extra thread to do the status tasks
that might block, leaving the criticial path thread to keep on going.

BTW, Dean is right about layered I/O being something to be leary of IFF a full
chain of up and down calls are needed for all sends. One of the main ideas of
the IHOP  flat stacks is that in the static case, the back-end should be able
to pass a file-name into the middle-end, and the middle-end cues up a
transmetafile in the front-end. You do need back-end layering if you want to
properly support on-the-fly encoding/format conversion, lazy MD5 caching, etc;
layering in the front end is a big win as well,as long as the middle end can
pick ILP'ed versions wherever possible.


Dean Gaudet wrote:

> On Tue, 3 Nov 1998, Marc Slemko wrote:
> > On Mon, 2 Nov 1998, Dean Gaudet wrote:
> >
> > > There's essentially no userland syncrhonization required in a static
> > > content web server (i.e. a benchmark web server).  For example on linux
> > > open()/sendfile() should produce the fastest web server possible from
> > > userland... and there's nothing in there which requires userland to
> > > synchronize (you have to do a little magic with memory allocation).  So
> > > this is easy.
> >
> > Header caching?
> Why bother?
> You can use a few rw locks to do the Date: header without much
> synchronization at all... caching headers may be worth it single cpu, but
> in a four way I bet you'll be a lot happier without it.
> Dean

View raw message