Re: Thread implementations...

Jakub Jelinek (jj@sunsite.ms.mff.cuni.cz)
Thu, 25 Jun 1998 10:02:56 +0200 (MET DST)


> I'm a little curious as to which circumstances you are thinking of.
> As far as I can see, it's a syscall for a single application (a
> web server serving static objects) which is basically little more
> than a benchmark. If you really have such a hugely loaded web server
> you are likely to be doing lots of database lookups, cookie-controlled
> variable content, shtml, other cgi trickery, etc. And if you really
> just want to serve static objects as fast as possible, a round-robin
> DNS with multiple servers gets you more robustness and a solution that
> scales above Ethernet speeds.
>
> Would we just be doing this to look good agains NT in webstones?

As has been mentioned previously, if we add a fairly generic syscall
ssize_t copy(int fromfd, int tofd, size_t len)
then this will be useful to a lot of applications, not only Web servers, but
even file managers, cat, etc. And web servers really spend horrible long
time in copying data from files to the wire.
Such a system call could open a wide range of slick tricks, like the SCSI
to SCSI copy with a SCSI command without ever reaching memory, or by
implementing COW buffers, one could do zero-copy file copying: during copy,
just create new buffer-heads and point them to the same b_data and mark them
as COW, thus save memory and the numerous copying. I think some kind of COW
for buffer cache will be needed anyways for journaling, so this would be
just another use...

Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.106 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu