Re: generalizing khttpd

Alex Belits (abelits@phobos.illtel.denver.co.us)
Fri, 11 Jun 1999 14:34:39 -0700 (PDT)


On Fri, 11 Jun 1999, Zach Brown wrote:

> [this is rapidly approaching offtopic for linux-kernel]
>
> > No, it's telling _from_ kernel to userspace that request arrived, or
> > that it's finally sent. And context switch between multiple processes
>
> who needs multiple processes?

Database queries, called from HTTP, for example.

> My sily siginfo server has done 3500
> requests a second with a single thread over localhost in 2.3.x.
> yes, it cheats ;)

So?

>
> > What applications improve their performance after "thundering herd" on
> > accept/select problem's solution?
>
> siginfo events on the listening socket, pointable at individual threads
> with F_SETOWN.
>
> > of certain kind of applications (HTTP and possibly FTP servers -- even
> > for SMTP and NNTP the possible improvements aren't noticeable because of
> > heavy processing involved).
>
> no, this model works well for any system that needs to manage lots of
> concurrent nonblocking I/O. serving NNTP clients with this model would
> make a ton of sense.

serving NNTP from a signal handler?

> anyway, the interfaces already mostly exist to do a really well done
> userspace i/o engine that can serve static http very quickly. Its simply
> a matter of writing the code. I'm joining Dean in his nice hacking.
>
> I'm not meaning to deter people from messing around with a kernel httpd.
> I just don't think its the right approach to the problem. What happens
> with smb isn't fast enough?

NFS is in the kernel, and even BSD developers (known as
holier-than-thou purists) constantly criticized Linux for the lack of
in-kernel NFS server.

> ldap? nntp?

The functionality of both makes it impossible to put them into kernel --
this is completely different kind of protocol.

>
> also notice that the newer apache using this stuff will also be usable
> under solaris/*bsd, etc, etc. does khttpd even work under 2.3 yet? 2.0?
> god forbid, a non linux unix?

Then userspace server will still work. The purpose of in-kernel server
is not to replace userspace one, just to improve the performance in some
cases of the most trivial operation that happens to be the hardest to do
in userspace.

-- 
Alex

---------------------------------------------------------------------- Excellent.. now give users the option to cut your hair you hippie! -- Anonymous Coward

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/