[ofw] [patch] fix ipoib performance problem in rev 1430
Anatoly Greenblatt
anatolyg at voltaire.com
Wed Aug 27 07:53:08 PDT 2008
Hi,
Basically the fix is part of code prior to rev 1430 in case csum
offloading is not supported.
Also added a fix on send path.
Regards,
Anatoly.
Index: ulp/ipoib/kernel/ipoib_port.c
===================================================================
--- ulp/ipoib/kernel/ipoib_port.c (revision 1521)
+++ ulp/ipoib/kernel/ipoib_port.c (working copy)
@@ -2582,8 +2582,17 @@
}
/* Get the checksums directly from packet information. */
+ if ( !p_port->p_adapter->params.recv_chksum_offload )
+ {
+ p_desc->ndis_csum.Value = 0;
+
p_desc->ndis_csum.Receive.NdisPacketTcpChecksumSucceeded = TRUE;
+
p_desc->ndis_csum.Receive.NdisPacketUdpChecksumSucceeded = TRUE;
+
p_desc->ndis_csum.Receive.NdisPacketIpChecksumSucceeded = TRUE;
+ }
+
NDIS_PER_PACKET_INFO_FROM_PACKET( *pp_packet,
TcpIpChecksumPacketInfo ) =
(PVOID) (uintn_t) (p_desc->ndis_csum.Value);
+
ipoib_inc_recv_stat( p_port->p_adapter, type, p_desc->len );
IPOIB_EXIT( IPOIB_DBG_RECV );
@@ -3862,7 +3871,7 @@
p_desc->wr.p_next = NULL;
p_desc->wr.wr_id = (uintn_t)p_desc->p_pkt;
- if(p_port->p_adapter->params.send_chksum_offload &
+ if(p_port->p_adapter->params.send_chksum_offload &&
(pChecksumPktInfo->Transmit.NdisPacketChecksumV4 ||
pChecksumPktInfo->Transmit.NdisPacketChecksumV6))
{
// Set transimition checksum offloading
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080827/d4749857/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_ipoib_csum_offload.patch
Type: application/octet-stream
Size: 1208 bytes
Desc: fix_ipoib_csum_offload.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080827/d4749857/attachment.obj>
More information about the ofw
mailing list