On Thu, Dec 15, 2005 at 12:55:48PM -0800, Stephen Hemminger ([EMAIL PROTECTED]) wrote: > Given the pretty extensive modifications necessary, do you have any > useful benchmark data to show that this is a win. Previous zero > copy (like page flipping) has not be merged because it did not > prove to be a net gain.
Yes, I have one. I use high-performance memory mapped 8139 adapter (original idea was to reduce CPU usage on my home gateway when downloading huge files over ftp where I use such an Adapter) on 2.4 Ghz Xeon (1+HT): 1 Gb transfer from 1-way AMD64 machine (2210.767 Ghz), gbit interface, server uses sendfile() for data sending. Client is connected using 8139 Realtek NIC through D-link dgs-1216T Gbit switch. File is written into ext2 partition. Speed is the same and is about 10.7-10.9 Mbyte/sec. CPU usage graph attached. 'zc' - zero-copy transfer. 'recv/write' - recv()/write() transfer. Tested application attached in first e-mail. It was run with following parameters: zc: ./sendfile -a 192.168.0.48 -p 1234 -f /storage1/test -b 192.168.4.78 -B 12345 -t 0 -n64 recv/write: ./sendfile -a 192.168.0.48 -p 1234 -f /storage1/test -b 192.168.4.78 -B 12345 -t 1 -n64 Where only -t differs: it is type of the test. -n is a number of preallocated pages. -a - remote addr -p - remote port -b - local bind addr -B - local bind port -t - 0 - zc, 1 - recv/write test -n - number of preallocated pages (32 by default). -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html