[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