<br><font size=2><tt>Roland Dreier <rdreier@cisco.com> wrote on 05/25/2006
04:28:27 PM:<br>
<br>
> Shirley> didn't help somehow. Even in some
code, I induced some<br>
> Shirley> locks, the overall performance of all these
7 patches I<br>
> Shirley> am trying to post here could improve IPoIB
from 20% - 80%<br>
> Shirley> unidirectional and doubled bidirectional.<br>
> <br>
> I'm guessing that all of that gain comes from letting the send and<br>
> receive completion handlers run simultaneously. Is that right?<br>
> <br>
> For example how much of an improvement do you see if you just apply<br>
> the patches you've posted -- that is, only 1/7, 2/7 and 3/7?<br>
> <br>
> - R.<br>
</tt></font>
<br><font size=2 face="sans-serif">That's not true. I tested performance
with 1/7, 3/7 a couple weeks ago, I saw more than 10% improvement. I never
saw send queue overrun with tx_ring before on one cpu with one TCP stream.
After removing tx_ring, the send path is much faster, the default 128 is
not bigger enough to handle it. That's the reason I have another patch
to handler send queue overrun -- requeue the packet to the head of dev
xmit queue instead of current implementation which is silently dropped
the packets when device driver send queue is full, and depends on TCP retransmission.
This implementation would cause TCP fast trans, slow start, and packets
out of orders.</font>
<br><font size=2 face="sans-serif"><br>
Thanks<br>
Shirley Ma<br>
IBM Linux Technology Center<br>
15300 SW Koll Parkway<br>
Beaverton, OR 97006-6063<br>
Phone(Fax): (503) 578-7638<br>
</font>
<br>
<br>