Subject: Re: Experimental zero-copy for TCP and UDP transmit-side
To: None <current-users@netbsd.org>
From: Wolfgang Rupprecht <wolfgang+gnus20020508T172812@wsrcc.com>
List: current-users
Date: 05/08/2002 17:40:45
thorpej@wasabisystems.com (Jason R Thorpe) writes:
> The right way for an application to take advantage of this would be
> for it to mmap the file to be transmitted, possibly using a sliding window,
> and then write the entire window with one system call.  The sosend_loan()
> routine currently breaks it up internally into 64K chunks, which when are
> referenced directly when a TCP segment is transmitted.

In the sliding window case, is it safe to unmap() the old window's
pages while the network write is still going on?

Lets say one wants to copy a raw disk across the network.  With
today's disks that will take quite a few max sized mmap() windows.
Would the zero copy case still be used if one were to write a window
sized hunk, slide the window and write() again in a tight loop?

-wolfgang
-- 
       Wolfgang Rupprecht <wolfgang+gnus@dailyplanet.wsrcc.com>
		    http://www.wsrcc.com/wolfgang/
Coming soon: GPS mapping tools for Open Systems. http://www.gnomad-mapping.com/