I am adding TSO support to a NDIS driver for win 2003. After TSO is
enabled, the driver works fine, only that the performance becomes
worse. Netperf TCP thruput drops by +30%. Logging shows that NDIS does
pass big packets to the driver and packet trace shows that the card
does split the big packets into small pieces. Nothing abnormal (no
excessive retransmission, csum error) is observed in the packet trace.
But why enabling TSO can degrade performance so much?
I am pretty new in driver development and I know it's hard to tell
without actually looking at the source code. but I really want some
suggestions, directions from those gurus out there. Are there anything
I should pay attention to? what tools, perfomance counters I can
use/watch to help trace down the root cause? Thanks a lot