Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 May 1997 16:27:44 -0400 (EDT)
From:      Christopher Sedore <cmsedore@mailbox.syr.edu>
To:        Ben Black <black@zen.cypher.net>
Cc:        Ruslan Shevchenko <rssh@cki.ipri.kiev.ua>, FreeBSD-Hackers@FreeBSD.ORG
Subject:   Re: async socket stuff
Message-ID:  <Pine.SOL.3.95.970527144252.2510A-100000@rodan.syr.edu>
In-Reply-To: <Pine.LNX.3.91.970527142319.1463A-100000@zen.cypher.net>

next in thread | previous in thread | raw e-mail | index | archive | help


On Tue, 27 May 1997, Ben Black wrote:

> > 
> > It sure could, but you end up with many more system calls, and it is not
> > async.  The real advantage to a call like TransmitFile() is that you can
> > send an entire file (or a range of a file) with a single system call, and
> > you can do it async.  This means that you can more efficiently implement
> > things like FTP servers, Web servers, pop servers, etc.
> > 
> 
> i think we have a terminology problem here.  i would honestly be amazed 
> if NT implemented TransmitFile() in the kernel (making it a syscall).  i 
> think it more likely that it is a library routine that is built on top of 
> async IO.

Well, you might better arrange to be amazed :)  It is an NT system call. 
It's exact purpose is to avoid a read(file,buf)/write(sock,buf) loop with
the associated user/system switch for each call.  Async doesn't buy you
anything here except the ability to do it in the background. 

> btw, NT is probably the WORST place to look for inspiration.  just look 
> at their TCP sequence generation algorithm.

I figure that I'll borrow good ideas from where ever they come...Nobody
does everything "right" by universal or any given individual's standards. 

I'd just like to see FreeBSD add some enhancements to make it easier/more
efficient for high load network applications (since I'm now breaking NT's
IP stack under load).  Threads (true threads, mind you)  would be nice,
but kernel based async IO and a few other goodies would make a big
difference. 

-Chris





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.3.95.970527144252.2510A-100000>