Re: NDISPROT sample performance (once again) by Stephan
Stephan
Fri May 19 05:32:42 CDT 2006
There are just so many possible reasons to take into account. For
instance, the NIC driver usually has some interrupt moderation
algorithm in order to avoid "one interrupt per frame" interrupt storms.
But interrupt moderation often also implies some latency, i.e. there is
a small time gap between a frame being sent or received and the
"complete" call to the protocol.
See if there are some NIC parameters that can be set in order to
improve performance.
Also, does your test program send frames back-to-back or does it wait
for some acknowledgement from the peer station? The latter usually
implies latency, which can degrade overall throughput a big time.
Sorry, but all these problems have been experienced, analyzed, and
solved before. You are kind of trying to reinvent the wheel.
Stephan
---
misiu wrote:
> Hello,
>
> Once again problem with NDISPROT sample from DDK. I've just built that
> example and did some tests. I've only increased a SEND_PACKET_POOL_SIZE
> RECV_PACKET_POOL_SIZE and MAX_RECV_QUEUE_SIZE values so that I have no
> more problems with loosing packets when reading.
> The big problem is performance I got with 9k frames average speed 350
> MBps (sustained write and read) but maximum about 650 Mbps. Why that
> values are so different and how to improve the code to get better
> performance, more close to 1 Gbps. I have to get all the packet I do not
> want to discard any of them.
>
> Regards,
> Bartek