Dear all,
I’m testing ndiswdm/1394PC driver. I’m getting a very poor throughput.
When I receive a packet by 1394 one callback routine is called which
allocate ndispacket/ndisbuffer, copies packet to it, puts the nidspacket
in
recv queue of 1394PC driver. This ndispacket/ndisbuffer is copied to the
waiting recv IRP and IRP is completed. Here I can analyse that I’m this
packet coping two times. One in callback to recv queue and another from
recv queue to waiting IRP(later is byte by byte copy). Now I’m trying to
bypass this queue; but the problem is that some times waiting IRPs doesn’t
have enough space to hold this big packet. Can this copying effect the
performance to such level? I think problem lies in some other part of
driver.
I’m getting very different data rates for different tests. Hard for me to
reach at some conclusions. Any suggestions are welcome.
I’m attaching test result.—
Ping test-
Pinging 10.0.0.1 with 32 bytes of data:
Reply from 10.0.0.1: bytes=32 time<1ms TTL=128
Reply from 10.0.0.1: bytes=32 time<1ms TTL=128
Reply from 10.0.0.1: bytes=32 time<1ms TTL=128
Reply from 10.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
ftp test-
ftp> get monkey.mpg
200 PORT command successful.
150 Opening ASCII mode data connection for monkey.mpg(1477668 bytes).
226 Transfer complete.
ftp: 1477668 bytes received in 0.43Seconds 3428.46Kbytes/sec.
ftp>
IN FTP TEST IF I TRANSFER A FILE OF 700 MBYTE THROUGHPUT IS 2500
KBYTES/SEC
test tcp-
PCAUSA Test TCP Utility V2.01.01.06
UDP Transmit Test
Transmit : UDP -> 10.0.0.1:5001
Buffer Size : 8192; Alignment: 16384/0
Send Mode : Send Pattern; Number of Buffers: 2048
Statistics : UDP -> 10.0.0.1:5001
16777216 bytes in 1.15 real seconds = 14222.22 KB/sec +++
numCalls: 2050; msec/call: 0.58; calls/sec: 1779.51
test UDP-
PCAUSA Test TCP Utility V2.01.01.06
TCP Transmit Test
Transmit : TCP -> 10.0.0.1:5001
Buffer Size : 8192; Alignment: 16384/0
TCP_NODELAY : DISABLED (0)
Connect : Connected to 10.0.0.1:5001
Send Mode : Send Pattern; Number of Buffers: 2048
Statistics : TCP -> 10.0.0.1:5001
16777216 bytes in 2.93 real seconds = 5584.19 KB/sec +++
numCalls: 2048; msec/call: 1.47; calls/sec: 698.02
Thanks in advance,
Sanjeev