[ofa-general] Re: [PATCHv2] IB/ipoib: S/G and HW checksum support

Michael Krause krause at cup.hp.com
Wed Sep 5 07:42:45 PDT 2007


Just a bit of history...

When the idea or argument was first presented within the IETF that an IB 
fabric is inherently reliable and therefore one could disable checksum 
calculations to improve performance, it was soundly rejected by the hum in 
the room.   The primary arguments were:

- Checksums are required per the end-to-end argument.

- Any node on a subnet can act as a gateway to another subnet.   Many of 
these gateways are implemented using today's OS network stacks and should 
not require modification to operate for IB since all other layer 2 
interconnects require no such modifications.

While it might be possible to do something, the consensus was if 
performance is the objective, then implement the same checksum off-load 
techniques on IB HCA / TCA hardware.  That  was deemed far more practical 
and more likely compliant with customer expectations than trying to modify 
the network stacks as well as the sacrosanct end-to-end argument.  I would 
be very leery of attempting to push this into the industry or customer 
base.   Vendors already face challenges in selling IB outside of HPC 
workloads and adding more fuel to the fire will only increase that 
challenge.  Please keep in mind that a RNIC based solution does not require 
such added complexity and our preference to date has been to keep these 
technologies as close to functional parity as possible.

Mike



At 01:02 PM 9/4/2007, James Lentini wrote:


>On Tue, 4 Sep 2007, Michael S. Tsirkin wrote:
>
> > > Quoting James Lentini <jlentini at netapp.com>:
> > > Subject: Re: [PATCHv2] IB/ipoib: S/G and HW checksum support
> > >
> > >
> > >
> > > On Tue, 4 Sep 2007, Michael S. Tsirkin wrote:
> > >
> > > > Add module option hw_csum: when set, IPoIB will report S/G
> > > > support, and rely on hardware end-to-end transport checksum (ICRC)
> > > > instead of software-level protocol checksums.
> > >
> > > The purpose of this option would be clearer if the parameter name were
> > > "omit_csum". Calling this "HW checksum" support is misleading because
> > > the term is already used to describe network adapters that calculate
> > > TCP/IP checksums in hardware. I realize that you are using the HW
> > > checksum infrastructure to implement this, but it is really not the
> > > same thing.
> >
> > Another reason is that I declare HW_CSUM in the netdev
> > feature list. Yea, someone might get confused,
> > but "omit checksum" is misleading, too, and is likely to
> > scare users away from the feature: the need for end-to-end checksum
> > is a widely recognised requirement.
>
>I agree. Since this isn't an end-to-end checksum, I recommend that be
>made clear to the user.
>
> > So I don't have a better name. Hopefully modinfo documents the
> > option well enough.
> >
> > > > Since this will not inter-operate with older IPoIB modules, this
> > > > option is off by default.
> > > >
> > > > Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>
> > >
> > > Does the S/G support need to be tied to the checksum changes?
>
>Can you separate the S/G support and checksum changes into different
>patches?
>_______________________________________________
>general mailing list
>general at lists.openfabrics.org
>http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
>To unsubscribe, please visit 
>http://openib.org/mailman/listinfo/openib-general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070905/599eca05/attachment.html>


More information about the general mailing list